Açık Kaynak C++ API ile PDF oluşturun
PDF Dosyaları Oluşturmak, Düzenlemek, Değiştirmek ve Ayrıştırmak için Açık Kaynak C++ Kitaplığı.
PDF-Yazıcı nedir?
PDF-Writer, akışların yanı sıra PDF Dosyaları oluşturmayı, düzenlemeyi, değiştirmeyi ve ayrıştırmayı tamamen destekleyen bir Açık Kaynak C++ kitaplığıdır. Kütüphane, PDF dosyaları oluşturmanın başlıca "tek seferlik" yöntemiyle geliştirilmiştir. Bu nedenle, dosya ne kadar büyürse büyüsün hızlı çalışır ve düşük bellek kullanır. Bu nedenle, küçük PDF dosyaları oluşturmak veya daha büyük PDF belgeleri oluşturmak en iyisidir.
Bir PDF'ye içerik eklemek her zaman çok önemlidir ve geliştiricilerin özel PDF'ler oluşturmasına yardımcı olur. Kitaplık, PDF sayfalarının oluşturulması, içerik çizimi için PDF operatörleri, JPG veya PNG ve TIFF görüntüleri gömme, PDF'yi değiştirme, PDF'leri birleştirme veya bölme, PDF dosyalarını oluşturma, PDF'den veri çıkarma gibi PDF dosyalarını işlemek için birçok önemli özellik için destek içermektedir. , Unicode metin desteği, TrueType ve OpenType yazı tipleri desteği ve çok daha fazlası.
PDF-Yazıcıya Başlarken
Kitaplığı oluşturmak için önerilen yöntem ve örnek uygulama CMake kullanmaktır. CMake web sitesinden alabilirsiniz. Kitaplık Zlib, LibTiff, LibJpeg, FreeType ve LibPng'ye bağlıdır. Bu, PDF kitaplığını bağlantılı bir bağlamda kullanmadan önce bunları da derlemeniz gerektiği anlamına gelir.
Ayrıca manuel olarak da yükleyebilirsiniz; en son sürüm dosyalarını doğrudan GitHub deposundan indirin.
C++ ile PDF Oluşturma ve Değiştirme
Yazılım geliştiriciler, kendi C++ uygulamaları içinde yeni bir PDF dosyası oluşturmak için PDF-Writer API'yi kullanabilir. Kütüphane ayrıca geliştiricilerin onu kendi ihtiyaçlarına göre değiştirmelerini de kolaylaştırır. JPG, PNG ve TIFF görüntülerini kolayca gömebilir, Yeniden kullanılabilir nesneleri tanımlayabilir, mevcut PDF sayfalarını ve metni kolaylıkla gömebilirsiniz. Mevcut PDF sayfalarını, PDF'ye sayfalar olarak ekleyerek veya yeni oluşturulan bir sayfanın grafiklerine dahil edilecek parçalar olarak kullanarak kullanabilirsiniz. Aşağıdaki adımları kullanarak kolayca PDF oluşturabilirsiniz.
C++ ile PDF oluşturun
- PDFWriter nesnesinin bir örneğini oluşturun
- Yazmak için bir PDF dosyası açın
- Şimdi devam edin ve PDF'ye içerik ekleyin.
- PDF belgesini kaydet
C++'da PDF Oluşturma
// Create an instance of the PDFWriter objec
PDFWriter pdfWriter;
// Open a PDF file for writing
pdfWriter.StartPDF("c:\\myFile.pdf",ePDFVersion13);
// ...add content to PDF file...
pdfWriter.EndPDF();
PDF Belgesine Yeni Sayfalar Ekleme
PDF-Writer kitaplığı ile yeni sayfalar eklemek ve boyutlarını bir PDF belgesine ayarlamak mümkündür. Çok kolaydır ve bir PDF dosyasına yeni sayfalar eklemek için yalnızca birkaç satır C++ kodu gerektirir. Kitaplık ayrıca geliştiricilere mevcut bir sayfayı değiştirme veya bir sayfayı silme gücü verir. Önceden oluşturulmuş bir PDF sayfasına içerik eklemek de mümkündür.
Görüntüleri PDF Belgelerine Gömme
PDF-Writer kitaplığı, TIFF, PNG ve JPG Görüntülerinin yanı sıra PDF sayfalarını gömmek için destek sağlar. Herhangi bir görüntü türü için genel olan üst düzey yöntemler vardır. Bunun dışında, görüntülerin gelişmiş kullanımları için bazı alt düzey yöntemler vardır. Yerel DCT kod çözücü aracılığıyla JPG Görüntüleri, LibPng ile kod çözme yoluyla PNG ve LibTiff yardımıyla kodlama/kod çözme yoluyla TIFF Görüntüleri için destek sağlamıştır.
C++ ile PDF'ye Görüntü Gömme
pdfWriter.StartPDF("HighLevelImages.PDF",ePDFVersion13);
PDFPage* page = new PDFPage();
page->SetMediaBox(PDFRectangle(0,0,595,842));
PageContentContext* cxt = pdfWriter.StartPageContentContext(page);
cxt->DrawImage(10,10,"soundcloud_logo.jpg"));
pdfWriter.EndPageContentContext(cxt);
pdfWriter.WritePageAndRelease(page);
pdfWriter.EndPDF();
Çeşitli PDF Belgelerini Birleştirme
Kullanıcılar, Açık Kaynak PDF birleştirici API'sini kullanarak, yalnızca birkaç satır kod kullanarak birden fazla PDF belgesini herhangi bir dış bağımlılık olmaksızın hızla birleştirebilir. PDF-Yazıcı, yazılım geliştiricilerine mevcut PDF dosyalarından yepyeni bir PDF belgesi oluşturma gücü verir. Kullanıcıların PDF belgesini daha kolay saklamasına ve incelemesine yardımcı olur.
PDF Sayfaları İçeriğini C++ ile Birleştirme
PDFPage* page = new PDFPage();
page->SetMediaBox(PDFRectangle(0,0,595,842));
PDFPageRange singlePageRange;
singlePageRange.mType = PDFPageRange::eRangeTypeSpecific;
singlePageRange.mSpecificRanges.push_back(ULongAndULong(0,0));
pdfWriter.MergePDFPagesToPage(page,"C:\\Other2PagePDF.PDF",singlePageRange);
pdfWriter.WritePageAndRelease(page);