İnternetin gücü ile her şey dijitale döndü ve kağıtsız sistemler yaygınlaştı. Dijital belgeler, yani PDF, otomatik oluşturma ve işleme özellikleri sunarak hayatı kolaylaştıran kağıtsız sistemlerin yapı taşlarından biridir. İşletmelerin çoğu, raporları, makbuzları, faturaları ve diğer ticari belgeleri dinamik olarak oluşturmak için PDF belge otomasyonunu kullanır. Bu nedenle, bu makalede, PDF otomasyonunun özelliklerinin C++ tabanlı uygulamalara nasıl entegre edileceğini ve C++ kullanılarak PDF dosyalarının nasıl oluşturulacağını göstereceğim.

C++ PDF Kitaplığı

PDF dosyaları oluşturmak için, PDF belgeleriyle programlı olarak çalışmak için yerel bir C++ kitaplığı olan Aspose.PDF for C++ API’yi kullanacağız. Çeşitli PDF öğelerinin desteğiyle etkileşimli PDF belgeleri oluşturmanıza olanak tanır. Aspose.PDF for C++, NuGet’te olduğu kadar Aspose’un İndirilenler bölümünde de mevcuttur.

C++ ile PDF Dosyası Oluşturma

Öncelikle basit bir PDF dosyası oluşturacağız ve ilk sayfaya paragraf şeklinde bir miktar metin ekleyeceğiz. İzlenecek adımlar şunlardır:

  • Bir Belge nesnesi oluşturun.
  • Belgenin PageCollection bölümüne bir sayfa ekleyin.
  • Sayfanın paragrafını alın.
  • Bir TextFragment nesnesi oluşturun ve bunu paragrafa ekleyin.
  • PDF belgesini kaydedin.

Aşağıdaki kod örneği, C++‘da bir PDF belgesinin nasıl oluşturulacağını gösterir.

// Belge oluştur
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
// Sayfaların sayısı 1'den başlar
auto page = pages->idx_get(1);
auto paragraps = page->get_Paragraphs();	
// Metin parçası oluştur
auto text = MakeObject<TextFragment>(u"PDF API for C++");
auto ts = text->get_TextState();
// Metin durumunu ayarla
ts->set_FontSize(16);
ts->set_FontStyle(FontStyles::Italic);
// paragrafa ekle
paragraps->Add(text);
// Paragrafa metin ekle
paragraps->Add(MakeObject<TextFragment>(u"This example shows how to create a PDF with text using Aspose.PDF for C++."));
// PDF dosyasını kaydet
doc->Save(u"Example1.pdf");

Çıktı

C++ ile PDF Dosyaları Oluşturun

C++‘da TextBuilder kullanarak bir PDF Dosyası oluşturun

Bu bölümde, sayfaya çeşitli metin parçaları ve paragraflar eklemek için TextBuilder sınıfını nasıl kullanacağınızı göstereceğim. Ayrıca, bu örnekte, sayfadaki metin parçasının konumunu nasıl ayarlayacağınızı öğreneceksiniz. Bu işlemi gerçekleştirme adımları aşağıdadır:

  • Bir Belge nesnesi oluşturun.
  • Belgeye bir sayfa ekleyin.
  • Bir TextBuilder nesnesi oluşturun.
  • Bir TextFragment oluşturun ve metnini ekleyin.
  • TextFragment’in konumunu ayarlayın.
  • TextBuilder’ı kullanarak TextFragment’i ekleyin.
  • PDF belgesini kaydedin.

Aşağıdaki kod örneği, C++‘da TextBuilder kullanılarak nasıl PDF oluşturulacağını gösterir.

// Belge nesnesi oluştur
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
// TextBuilder'ı oluşturun
auto tb = MakeObject<TextBuilder>(pages->idx_get(1));
// TextFragment Oluştur
auto text = MakeObject<TextFragment>(u"Hello world!");
text->set_Position(MakeObject<Position>(100, 800));
// TextFragment'i Ekle
tb->AppendText(text);
// Başka bir TextFragment oluştur
text = MakeObject<TextFragment>(u"This example is created by Aspose.Pdf for C++.");
text->set_Position(MakeObject<Position>(150, 750));
tb->AppendText(text);
// Başka bir TextFragment oluştur
text = MakeObject<TextFragment>(u"It demonstrates how to use TextBuilder to append text into PDF file.");
text->set_Position(MakeObject<Position>(200, 700));
tb->AppendText(text);
// Metin Paragrafı Oluştur
auto par = MakeObject<TextParagraph>();
par->set_Position(MakeObject<Position>(250,650));
par->AppendLine(u"New paragraph");
par->AppendLine(u"Line 2");
par->AppendLine(u"Line 3");
tb->AppendParagraph(par);
// PDF belgesini kaydet
doc->Save(u"Created PDF.pdf");

Çıktı

C++ PDF API'si

C++‘da Resim İçeren Bir PDF Dosyası Oluşturun

Ayrıca Aspose.PDF for C++ kullanarak PDF belgelerine görüntüler oluşturabilir ve ekleyebilirsiniz. Bu işlemi gerçekleştirme adımları aşağıdadır:

  • Bir Belge nesnesi oluşturun.
  • Belgeye bir sayfa ekleyin.
  • Eklenecek bir resim oluşturun.
  • Görüntüyü PDF dosyasına ekleyin.
  • PDF dosyasını kaydedin.

Aşağıdaki kod örneği, C++‘da bir görüntünün nasıl oluşturulacağını ve bir PDF belgesine nasıl ekleneceğini gösterir.

// Belge nesnesi oluştur
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
auto page = pages->idx_get(1);
// Bir resim oluştur
auto stream = MakeObject<IO::MemoryStream>();
SharedPtr<Bitmap> bitmap = MakeObject<Bitmap>(200, 200);
SharedPtr<Graphics> graphics = Graphics::FromImage(bitmap);
graphics->Clear(System::Drawing::Color::get_Yellow());
graphics->FillRectangle(Brushes::get_Blue(), System::Drawing::Rectangle(0, 0, 200, 100));
bitmap->Save(stream, Imaging::ImageFormat::get_Bmp());
// Dikdörtgen oluştur
double x = 100.0, y = 600.0, width = 200.0, height = 200.0;
auto rect = MakeObject<Aspose::Pdf::Rectangle>(x, y, x + width, y + height);
// PDF'ye resim ekle
stream->Seek(0, System::IO::SeekOrigin::Begin);
page->AddImage(stream, rect);
// PDF belgesini kaydet
doc->Save(u"Created PDF.pdf");

Çıktı

C++ PDF Kitaplığı

C++‘da Ekleri Olan Bir PDF Dosyası Oluşturun

PDF formatı ayrıca belgeye ek eklenmesine izin verir. PDF dosyasına ek olarak eklenebilecek çeşitli dosya biçimleri vardır. Aşağıda, Aspose.PDF for C++ kullanarak bir dosyayı PDF’ye gömme adımları yer almaktadır:

  • SharedPtr’ye eklenecek bir dosya yükleyin .
  • Document sınıfından bir nesne oluşturun.
  • Dosyayı Belgeye gömün.
  • PDF dosyasını kaydedin.

Aşağıdaki kod örneği, C++‘da PDF belgesine nasıl ek ekleneceğini gösterir.

// Bir metin dosyası oluşturun
System::IO::File::WriteAllText(u"Attachment.txt", u"Some info");
SharedPtr<FileSpecification> fileSpecification = MakeObject<FileSpecification>(u"Attachment.txt", u"Sample text file");
// Belgenin ek koleksiyonuna ek ekleyin
auto doc = MakeObject<Document>();
doc->get_EmbeddedFiles()->Add(fileSpecification);
// PDF'ye bir sayfa ekleyin
doc->get_Pages()->Add();	 
// PDF belgesini kaydet
doc->Save(u"Created PDF.pdf");

Çıktı

C++ ile PDF oluşturun

Aspose.PDF for C++ hakkında daha fazlasını öğrenin

Aspose.PDF for C++ hakkında daha fazla bilgiyi dokümantasyondan ve kaynak kodundan örnekler öğrenebilirsiniz.

Ayrıca bakınız