Dengan kekuatan Internet, semuanya menjadi digital dan sistem tanpa kertas menjadi populer. Dokumen digital, yaitu PDF, adalah salah satu bagian dari sistem tanpa kertas yang membuat hidup lebih mudah dengan menyediakan fitur pembuatan dan pemrosesan otomatis. Sebagian besar bisnis menggunakan otomatisasi dokumen PDF untuk menghasilkan laporan, kuitansi, faktur, dan dokumen bisnis lainnya secara dinamis. Oleh karena itu, dalam artikel ini, saya akan mendemonstrasikan cara mengintegrasikan fitur otomatisasi PDF dalam aplikasi berbasis C++ dan membuat file PDF menggunakan C++.

Perpustakaan C++ PDF

Untuk membuat file PDF, kami akan menggunakan Aspose.PDF for C++ API yang merupakan pustaka C++ asli untuk bekerja dengan dokumen PDF secara terprogram. Ini memungkinkan Anda membuat dokumen PDF interaktif dengan dukungan berbagai elemen PDF. Aspose.PDF for C++ tersedia di NuGet dan juga di bagian Downloads dari Aspose.

Buat File PDF di C++

Pertama-tama, kita akan membuat file PDF sederhana dan menambahkan beberapa teks ke halaman pertama dalam bentuk paragraf. Berikut ini adalah langkah-langkah yang harus diikuti:

Contoh kode berikut menunjukkan cara membuat dokumen PDF di C++.

// Buat dokumen
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
// Penomoran Halaman dimulai dari 1
auto page = pages->idx_get(1);
auto paragraps = page->get_Paragraphs();	
// Buat fragmen teks
auto text = MakeObject<TextFragment>(u"PDF API for C++");
auto ts = text->get_TextState();
// Setel status teks
ts->set_FontSize(16);
ts->set_FontStyle(FontStyles::Italic);
// Tambahkan ke paragraf
paragraps->Add(text);
// Tambahkan teks ke paragraf
paragraps->Add(MakeObject<TextFragment>(u"This example shows how to create a PDF with text using Aspose.PDF for C++."));
// Simpan berkas PDF
doc->Save(u"Example1.pdf");

Keluaran

Buat File PDF di C++

Buat File PDF menggunakan TextBuilder di C++

Di bagian ini, saya akan menunjukkan cara menggunakan kelas TextBuilder untuk menambahkan berbagai fragmen teks dan paragraf pada halaman. Selanjutnya, dalam contoh ini, Anda akan mempelajari cara mengatur posisi fragmen teks di halaman. Berikut ini adalah langkah-langkah untuk melakukan operasi ini:

  • Buat objek Document.
  • Tambahkan halaman ke dokumen.
  • Buat objek TextBuilder.
  • Buat TextFragment dan tambahkan teksnya.
  • Atur posisi TextFragment.
  • Tambahkan TextFragment menggunakan TextBuilder.
  • Simpan dokumen PDF.

Contoh kode berikut menunjukkan cara membuat PDF menggunakan TextBuilder di C++.

// Buat objek Document
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
// Buat TextBuilder
auto tb = MakeObject<TextBuilder>(pages->idx_get(1));
// Membuat TextFragment
auto text = MakeObject<TextFragment>(u"Hello world!");
text->set_Position(MakeObject<Position>(100, 800));
// Tambahkan TextFragment
tb->AppendText(text);
// Buat TextFragment lain
text = MakeObject<TextFragment>(u"This example is created by Aspose.Pdf for C++.");
text->set_Position(MakeObject<Position>(150, 750));
tb->AppendText(text);
// Buat TextFragment lain
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);
// Buat TextParagraph
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);
// Simpan dokumen PDF
doc->Save(u"Created PDF.pdf");

Keluaran

API C++ PDF

Buat File PDF dengan Gambar di C++

Anda juga dapat membuat dan menambahkan gambar ke dokumen PDF menggunakan Aspose.PDF for C++. Berikut ini adalah langkah-langkah untuk melakukan operasi ini:

  • Buat objek Document.
  • Tambahkan halaman ke dokumen.
  • Buat gambar yang akan ditambahkan.
  • Tambahkan gambar ke file PDF.
  • Simpan berkas PDF.

Contoh kode berikut menunjukkan cara membuat dan menambahkan gambar ke dokumen PDF di C++.

// Buat objek Document
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
auto page = pages->idx_get(1);
// Buat gambar
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());
// Buat persegi panjang
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);
// Tambahkan gambar ke PDF
stream->Seek(0, System::IO::SeekOrigin::Begin);
page->AddImage(stream, rect);
// Simpan dokumen PDF
doc->Save(u"Created PDF.pdf");

Keluaran

Perpustakaan C++ PDF

Buat File PDF dengan Lampiran di C++

Format PDF juga memungkinkan penambahan lampiran ke dokumen. Ada beragam format file yang bisa ditambahkan sebagai attachment pada file PDF. Berikut adalah langkah-langkah untuk menyematkan file dalam PDF menggunakan Aspose.PDF for C++:

  • Muat file untuk dilampirkan di SharedPtr .
  • Buat objek kelas Document.
  • Sematkan file ke Dokumen.
  • Simpan file PDF.

Contoh kode berikut menunjukkan cara menambahkan lampiran ke dokumen PDF di C++.

// Buat file teks
System::IO::File::WriteAllText(u"Attachment.txt", u"Some info");
SharedPtr<FileSpecification> fileSpecification = MakeObject<FileSpecification>(u"Attachment.txt", u"Sample text file");
// Tambahkan lampiran ke kumpulan lampiran dokumen
auto doc = MakeObject<Document>();
doc->get_EmbeddedFiles()->Add(fileSpecification);
// Tambahkan halaman ke PDF
doc->get_Pages()->Add();	 
// Simpan dokumen PDF
doc->Save(u"Created PDF.pdf");

Keluaran

Hasilkan PDF dalam C++

Pelajari lebih lanjut tentang Aspose.PDF for C++

Anda dapat mempelajari lebih lanjut tentang Aspose.PDF for C++ dari dokumentasi dan kode sumber contoh.

Lihat juga