1. Ürünler
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for C++

C++ için Aspose.PDF FOSS

Sıfır çalışma zamanı bağımlılığıyla PDF belgelerini oluşturma, düzenleme, işleme ve güvence altına alma için açık kaynaklı C++ kütüphanesi.

Aspose.PDF FOSS — Açık Kaynak C++ PDF Kütüphanesi

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.

Belge Yükleme ve Sayfa Yönetimi

  • Mevcut PDF dosyalarını açın ve değişiklikleri Document ile kaydedin
  • Document.Pages() (PageCollection) aracılığıyla sayfalara erişin ve yineleyin
  • PageCollection.Add()/Insert()/Delete() ile sayfaları ekleyin, araya ekleyin ve silin
  • DocumentInfo (Document.Info()) aracılığıyla belge meta verilerini okuyun ve ayarlayın
  • Document.Optimize()/OptimizeResources() ile belge boyutunu optimize edin

Tipik kullanım senaryoları

  • Raporlar ve faturalar için PDF oluşturma hatları oluşturun
  • Mevcut PDF belgelerini birleştirin, bölün ve yeniden düzenleyin
  • Programlı olarak belge meta verilerini inceleyin ve güncelleyin
  • Arşivleme veya dağıtımdan önce PDF dosya boyutunu küçültün

Metin Çıkarma

  • Aspose::Pdf::Text::TextAbsorber ile bir belgenin tamamından düz metni çıkarın
  • TextAbsorber.Visit() ile tek bir sayfayı ya da tüm belgeyi ziyaret edin
  • TextAbsorber.Text() aracılığıyla çıkarılan metni alın
  • TextFragmentAbsorber.TextFragments() ile bireysel metin parçacıklarını bulun

Tipik kullanım durumları

  • PDF içeriğini arama için indeksle
  • Faturalardan ve yapılandırılmış belgelerden veri çıkart
  • Metin madenciliği veya içerik analizi boru hatları oluştur
  • Otomatik test paketlerinde belge içeriğini doğrula

Raster Görüntülere Render Etme

  • Sayfaları PngDevice ile PNG olarak oluşturun
  • Sayfaları JpegDevice, BmpDevice, TiffDevice ile JPEG, BMP veya TIFF olarak oluşturun
  • Çıktı çözünürlüğünü Resolution sınıfı ile kontrol edin
  • Tek bir sayfayı {Device}.Process() ile işleyin

Tipik kullanım senaryoları

  • Bir belge görüntüleyici için sayfa küçük resimleri oluşturun
  • Vektör PDF’lerden baskıya hazır raster çıktı üretin
  • PDF’den görüntüye dönüşüm hizmetleri oluşturun
  • Oluşturulan PDF’ler için görsel regresyon temel hatları oluşturun

Şifreleme ve Güvenlik

  • Kullanıcı ve sahip parolası kullanarak Document.Encrypt() ile belgeleri şifreleyin
  • CryptoAlgorithm enum’ı aracılığıyla RC4-40, RC4-128, AES-128 veya AES-256’yı seçin
  • Permissions tipiyle verilen izinleri kontrol edin
  • Document.Decrypt() ile parola korumalı belgeleri çözün

Tipik kullanım durumları

  • Dağıtımdan önce gizli PDF raporlarını koruyun
  • Paylaşılan belgelerde yazdırma/kopyalama/düzenleme kısıtlamalarını zorlayın
  • Oluşturulan faturalara ve ekstrelerine parola koruması ekleyin
  • Belge işlem hattının bir parçası olarak belgeleri toplu şifreleyin

Açıklamalar ve Etkileşimli Formlar

  • Annotation ve AnnotationCollection aracılığıyla ek açıklamaları ekleyin, değiştirin ve düzleştirin
  • Form sınıfı aracılığıyla AcroForm alanlarını yönetin
  • Form.Add()/Form.Delete() ile alan ekleyin ve kaldırın
  • Form.Flatten() ile etkileşimli formları statik içeriğe düzleştirin

Tipik kullanım durumları

  • Paylaşılan PDF’lere inceleme yorumları ve vurgulamalar ekleyin
  • Veri toplama için doldurulabilir PDF formları oluşturun
  • Arşivlemeden önce gönderilen formları düzleştirin
  • Form alanlarını programlı olarak önceden doldurun ve kilitleyin

PDF Aç, Metni Çıkar ve Sayfayı Renderla

Kü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);
}

AES-256 ile Bir Belge Şifrele

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");
}

Belge Meta Verilerini Oku ve Güncelle

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");
}

Sıkça Sorulan Sorular

Aspose.PDF FOSS for C++ için lisanslama modeli nedir?

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.

Hangi derleyici ve CMake sürümleri gereklidir?

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.

Kütüphanenin herhangi bir çalışma zamanı bağımlılığı var mı?

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.

Hangi formatları okuyabilir ve dışa aktarabilir?

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.

Bir PDF belgesini nasıl şifrelerim?

Document.Encrypt() yöntemini bir kullanıcı şifresi, bir sahip şifresi ve bir CryptoAlgorithm (RC4x40, RC4x128, AESx128 veya AESx256) ile çağırın.

Mevcut sürümde bilinen herhangi bir sınırlama var mı?

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.

  

Destek ve Öğrenme Kaynakları

 Türkçe