Aspose.PDF FOSS for C++, PDF belgeleriyle çalışmak için açık kaynaklı, modern bir C++20 kütüphanesidir — PDF’leri açma ve kaydetme, metin çıkarma, sayfaları görüntü formatlarına rasterleştirme ve sıfırdan belgeler oluşturma (metin, resimler, tablolar, vektör grafikleri, ek açıklamalar, AcroForm alanları ve yer imleri). Kütüphane yalnızca C++ standart kütüphanesine bağlanır: TIFF, JPEG ve PNG kodekleri ve sayfa rasterleştiricisi dahil her ilkel, ticari bir PDF yığınına bağımlı olmadan sıfırdan uygulanmıştır.
Çekirdek API, Document sınıfı ve onun Pages() koleksiyonu etrafında inşa edilmiştir. Metin, Aspose::Pdf::Text::TextAbsorber ile çıkarılır, sayfalar PngDevice, JpegDevice, BmpDevice ve TiffDevice gibi aygıt sınıfları aracılığıyla raster görüntülere işlenir ve belgeler Document.Encrypt() ile RC4-40, RC4-128, AES-128 veya AES-256 algoritmalarından CryptoAlgorithm enumu aracılığıyla seçilenlerle güvence altına alınabilir. Etkileşimli form alanları Form sınıfı üzerinden yönetilir ve ek açıklamalar — metin notları, vurgulamalar, şekiller ve damgalar — Annotation sınıf hiyerarşisi üzerinden eklenir ve değiştirilir.
Aspose.PDF FOSS for C++, MIT lisansı altında, hiçbir çalışma zamanı ücreti veya kullanım kısıtlaması olmaksızın dağıtılmaktadır. CMake aracılığıyla statik bir kütüphane olarak derlenir — derlemenizin bir alt dizini olarak ekleyin ya da bağımsız kurun — ve başka bir çalışma zamanı bağımlılığı olmadan bir C++20 derleyicisi gerektirir. Kurumsal özellikler ve destek için, Aspose.PDF for C++ — Enterprise Product adresine bakın.
Document ile kaydedinDocument.Pages() (PageCollection) aracılığıyla sayfalara erişin ve yineleyinPageCollection.Add()/Insert()/Delete() ile sayfaları ekleyin, araya ekleyin ve silinDocumentInfo (Document.Info()) aracılığıyla belge meta verilerini okuyun ve ayarlayınDocument.Optimize()/OptimizeResources() ile belge boyutunu optimize edinAspose::Pdf::Text::TextAbsorber ile bir belgenin tamamından düz metni çıkarınTextAbsorber.Visit() ile tek bir sayfayı ya da tüm belgeyi ziyaret edinTextAbsorber.Text() aracılığıyla çıkarılan metni alınTextFragmentAbsorber.TextFragments() ile bireysel metin parçacıklarını bulunPngDevice ile PNG olarak oluşturunJpegDevice, BmpDevice, TiffDevice ile JPEG, BMP veya TIFF olarak oluşturunResolution sınıfı ile kontrol edin{Device}.Process() ile işleyinDocument.Encrypt() ile belgeleri şifreleyinCryptoAlgorithm enum’ı aracılığıyla RC4-40, RC4-128, AES-128 veya AES-256’yı seçinPermissions tipiyle verilen izinleri kontrol edinDocument.Decrypt() ile parola korumalı belgeleri çözünAnnotation ve AnnotationCollection aracılığıyla ek açıklamaları ekleyin, değiştirin ve düzleştirinForm sınıfı aracılığıyla AcroForm alanlarını yönetinForm.Add()/Form.Delete() ile alan ekleyin ve kaldırınForm.Flatten() ile etkileşimli formları statik içeriğe düzleştirinKütüphaneyi bir CMake alt dizini olarak ekleyin, ardından bir belge açın, sayfalarını sayın, TextAbsorber ile metni çıkarın ve sayfa 1’i 150 DPI’de PNG olarak render edin.
add_subdirectory(aspose.pdf-foss-for-cpp)
target_link_libraries(your_app PRIVATE aspose_pdf_foss)
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/page_collection.hpp>
#include <aspose/pdf/text_absorber.hpp>
#include <aspose/pdf/png_device.hpp>
#include <aspose/pdf/resolution.hpp>
#include <fstream>
#include <iostream>
int main() {
Aspose::Pdf::Document doc("input.pdf");
std::cout << "Pages: " << doc.Pages().Count() << "\n";
Aspose::Pdf::Text::TextAbsorber absorber;
absorber.Visit(doc);
std::cout << absorber.Text() << "\n";
Aspose::Pdf::Devices::PngDevice png(Aspose::Pdf::Devices::Resolution(150));
std::ofstream out("page1.png", std::ios::binary);
png.Process(doc.Pages()[1], out);
}
Bir belge açın ve AES-256 şifrelemesi kullanarak kullanıcı ve sahip şifresiyle koruyun.
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc("input.pdf");
doc.Encrypt("user-password", "owner-password",
Aspose::Pdf::Permissions(),
Aspose::Pdf::CryptoAlgorithm::AESx256);
doc.Save("encrypted.pdf");
}
Mevcut /Info girişlerini okuyun ve belge başlığını DocumentInfo aracılığıyla güncelleyin.
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/document_info.hpp>
#include <iostream>
int main() {
Aspose::Pdf::Document doc("input.pdf");
auto& info = doc.Info();
std::cout << "Title: " << info.Title() << "\n";
std::cout << "Author: " << info.Author() << "\n";
doc.SetTitle("Updated Report Title");
doc.Save("output.pdf");
}
MIT lisanslıdır ve ticari ve ticari olmayan ürünlerde ücretsiz olarak kullanılabilir, aktivasyon anahtarı veya API çağrı sınırlaması olmadan.
C++20 derleyicisi (clang 16+, gcc 13+ veya MSVC 2022 17.5+) ve CMake 3.22 veya daha yeni bir sürüm. Python 3 yalnızca derleme zamanında gereklidir.
Hayır. Çalışma zamanında yalnızca C++ standart kütüphanesine bağlanır — üçüncü taraf PDF, görüntü veya sıkıştırma bağımlılığı gerekmez.
Yerel PDF belgelerini okur ve kaydeder, ve render edilen sayfaları Bmp, Jpeg ve Tiff’e, ayrıca düz metne dışa aktarır. SVG içeriği içe aktarılabilir.
Document.Encrypt() yöntemini bir kullanıcı şifresi, bir sahip şifresi ve bir CryptoAlgorithm (RC4x40, RC4x128, AESx128 veya AESx256) ile çağırın.
Evet — birkaç XmpValue tür-kontrol yardımcıları (IsDateTime, IsField ve benzerleri) her zaman false dönen stub’lardır; bunun yerine IsString/IsInteger/IsDouble/IsArray kullanın.