ด้วยพลังของอินเทอร์เน็ต ทุกสิ่งกลายเป็นดิจิทัลและระบบไร้กระดาษกลายเป็นที่นิยม เอกสารดิจิทัล เช่น PDF เป็นหนึ่งในองค์ประกอบสำคัญของระบบไร้กระดาษที่ทำให้ชีวิตง่ายขึ้นด้วยการให้คุณสมบัติการสร้างและประมวลผลอัตโนมัติ ธุรกิจส่วนใหญ่ใช้ระบบอัตโนมัติของเอกสาร PDF ในการสร้างรายงาน ใบเสร็จรับเงิน ใบแจ้งหนี้ และเอกสารทางธุรกิจอื่นๆ แบบไดนามิก ดังนั้น ในบทความนี้ ผมจะสาธิตวิธีรวมคุณสมบัติของการทำงานอัตโนมัติของ PDF ในแอปพลิเคชันที่ใช้ C++ และสร้างไฟล์ PDF โดยใช้ C++

ห้องสมุด C++ PDF

สำหรับการสร้างไฟล์ PDF เราจะใช้ Aspose.PDF for C++ API ซึ่งเป็นไลบรารี C++ ดั้งเดิมเพื่อทำงานกับเอกสาร PDF โดยทางโปรแกรม ช่วยให้คุณสร้างเอกสาร PDF แบบโต้ตอบได้ด้วยการรองรับองค์ประกอบ PDF ที่หลากหลาย Aspose.PDF for C++ มีอยู่ใน NuGet เช่นเดียวกับในส่วน ดาวน์โหลด ของ Aspose

สร้างไฟล์ PDF ใน C++

ก่อนอื่น เราจะสร้างไฟล์ PDF อย่างง่ายและเพิ่มข้อความในหน้าแรกในรูปแบบของย่อหน้า ต่อไปนี้เป็นขั้นตอนที่ต้องปฏิบัติตาม:

  • สร้างวัตถุ เอกสาร
  • เพิ่มหน้าใน PageCollection ของเอกสาร
  • รับย่อหน้าของหน้า
  • สร้างวัตถุ TextFragment และเพิ่มไปยังย่อหน้า
  • บันทึกเอกสาร PDF

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างเอกสาร PDF ใน C++

// สร้างเอกสาร
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
// จำนวนหน้าเริ่มต้นจาก 1
auto page = pages->idx_get(1);
auto paragraps = page->get_Paragraphs();	
// สร้างส่วนข้อความ
auto text = MakeObject<TextFragment>(u"PDF API for C++");
auto ts = text->get_TextState();
// ตั้งค่าสถานะข้อความ
ts->set_FontSize(16);
ts->set_FontStyle(FontStyles::Italic);
// เพิ่มในย่อหน้า
paragraps->Add(text);
// เพิ่มข้อความในย่อหน้า
paragraps->Add(MakeObject<TextFragment>(u"This example shows how to create a PDF with text using Aspose.PDF for C++."));
// บันทึกไฟล์ PDF
doc->Save(u"Example1.pdf");

เอาต์พุต

สร้างไฟล์ PDF ใน C++

สร้างไฟล์ PDF โดยใช้ TextBuilder ใน C++

ในส่วนนี้ ฉันจะแสดงวิธีใช้คลาส TextBuilder เพื่อเพิ่มส่วนข้อความและย่อหน้าต่างๆ ในหน้า นอกจากนี้ ในตัวอย่างนี้ คุณจะได้เรียนรู้วิธีกำหนดตำแหน่งของส่วนข้อความในหน้า ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้:

  • สร้างวัตถุเอกสาร
  • เพิ่มหน้าในเอกสาร
  • สร้างวัตถุ TextBuilder
  • สร้าง TextFragment และเพิ่มข้อความ
  • กำหนดตำแหน่งของ TextFragment
  • ต่อท้าย TextFragment โดยใช้ TextBuilder
  • บันทึกเอกสาร PDF

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้าง PDF โดยใช้ TextBuilder ใน C++

// สร้างวัตถุเอกสาร
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
// สร้าง Text Builder
auto tb = MakeObject<TextBuilder>(pages->idx_get(1));
// สร้าง TextFragment
auto text = MakeObject<TextFragment>(u"Hello world!");
text->set_Position(MakeObject<Position>(100, 800));
// ต่อท้าย TextFragment
tb->AppendText(text);
// สร้าง TextFragment อื่น
text = MakeObject<TextFragment>(u"This example is created by Aspose.Pdf for C++.");
text->set_Position(MakeObject<Position>(150, 750));
tb->AppendText(text);
// สร้าง TextFragment อื่น
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);
// สร้าง 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);
// บันทึกเอกสาร PDF
doc->Save(u"Created PDF.pdf");

เอาต์พุต

C++ PDF API

สร้างไฟล์ PDF ด้วยรูปภาพใน C ++

คุณยังสามารถสร้างและเพิ่มรูปภาพในเอกสาร PDF โดยใช้ Aspose.PDF for C++ ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้:

  • สร้างวัตถุเอกสาร
  • เพิ่มหน้าในเอกสาร
  • สร้างภาพที่จะใส่
  • เพิ่มรูปภาพลงในไฟล์ PDF
  • บันทึกไฟล์ PDF

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างและเพิ่มรูปภาพในเอกสาร PDF ใน C++

// สร้างวัตถุเอกสาร
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
auto page = pages->idx_get(1);
// สร้างภาพ
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());
// สร้างสี่เหลี่ยมผืนผ้า
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
stream->Seek(0, System::IO::SeekOrigin::Begin);
page->AddImage(stream, rect);
// บันทึกเอกสาร PDF
doc->Save(u"Created PDF.pdf");

เอาต์พุต

ห้องสมุด C++ PDF

สร้างไฟล์ PDF พร้อมไฟล์แนบใน C++

รูปแบบ PDF ยังอนุญาตให้เพิ่มสิ่งที่แนบมากับเอกสาร มีรูปแบบไฟล์ที่หลากหลายที่สามารถเพิ่มเป็นสิ่งที่แนบมากับไฟล์ PDF ต่อไปนี้เป็นขั้นตอนในการฝังไฟล์ใน PDF โดยใช้ Aspose.PDF for C++:

  • โหลดไฟล์ที่จะแนบใน SharedPtr .
  • สร้างวัตถุของคลาส Document
  • ฝังไฟล์ลงในเอกสาร
  • บันทึกไฟล์ PDF

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มไฟล์แนบในเอกสาร PDF ใน C++

// สร้างไฟล์ข้อความ
System::IO::File::WriteAllText(u"Attachment.txt", u"Some info");
SharedPtr<FileSpecification> fileSpecification = MakeObject<FileSpecification>(u"Attachment.txt", u"Sample text file");
// เพิ่มสิ่งที่แนบมากับคอลเลกชันสิ่งที่แนบมาของเอกสาร
auto doc = MakeObject<Document>();
doc->get_EmbeddedFiles()->Add(fileSpecification);
// เพิ่มหน้าใน PDF
doc->get_Pages()->Add();	 
// บันทึกเอกสาร PDF
doc->Save(u"Created PDF.pdf");

เอาต์พุต

สร้าง PDF ใน C ++

เรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.PDF for C++

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.PDF for C++ ได้จาก เอกสารประกอบ และซอร์สโค้ด ตัวอย่าง

ดูสิ่งนี้ด้วย