สร้างเอกสาร PDF โดยใช้ C#

การสร้างและประมวลผลเอกสาร PDF แบบอัตโนมัติได้กลายเป็นคุณสมบัติที่มีความต้องการสูงในช่วงไม่กี่วันที่ผ่านมา ในแอปพลิเคชันต่างๆ เอกสาร PDF จะถูกสร้างขึ้นแบบไดนามิก เช่น ใบแจ้งหนี้ ใบเสร็จรับเงิน และรายงานประเภทต่างๆ ตามนั้น บทความนี้ครอบคลุมการใช้งานพื้นฐานของ PDF automation ภายในแอปพลิเคชัน .NET ในที่สุด คุณจะได้เรียนรู้วิธีสร้างไฟล์ PDF โดยใช้ C# ตัวอย่างโค้ดจะสาธิตวิธีแทรกข้อความ รูปภาพ ตาราง และส่วนประกอบอื่นๆ ใน PDF โดยใช้ C#

C# .NET PDF API - ดาวน์โหลดฟรี

Aspose.PDF for .NET คือ API จัดการไฟล์ PDF ที่ให้คุณสร้างและประมวลผลไฟล์ PDF จากภายในแอปพลิเคชัน .NET ของคุณ เมื่อใช้ API คุณสามารถสร้างรายงานและเอกสารทางธุรกิจได้หลากหลายประเภทแบบไดนามิก API มีให้ใช้งานในรูปแบบ DLL ที่ดาวน์โหลดได้ รวมทั้งโฮสต์บน NuGet

Install-Package Aspose.Pdf

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

เริ่มต้นด้วยการสร้างเอกสาร PDF อย่างง่ายที่มีส่วนของข้อความ ต่อไปนี้เป็นขั้นตอนในการสร้างไฟล์ PDF โดยใช้ C#

  • สร้างวัตถุของคลาส Document
  • เพิ่มหน้าในเอกสารโดยใช้เมธอด Document.Pages.Add()
  • สร้างวัตถุ TextFragment ใหม่และตั้งค่าข้อความ
  • เพิ่ม TextFragment ในคอลเล็กชัน ย่อหน้า ของหน้า
  • บันทึกไฟล์ PDF โดยใช้วิธี Document.Save(String)

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

// เริ่มต้นวัตถุเอกสาร
Document document = new Document();

// เพิ่มหน้า
Page page = document.Pages.Add();

// เพิ่มข้อความในหน้าใหม่
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// บันทึก PDF 
document.Save("document.pdf");

อ่านเพิ่มเติมเกี่ยวกับ การสร้างเอกสาร PDF ที่ซับซ้อน

แก้ไขไฟล์ PDF ใน C#

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

  • สร้างวัตถุของคลาส Document และระบุเส้นทางของไฟล์ PDF ไปยังตัวสร้าง
  • จัดการหน้าหรือเนื้อหาของเอกสาร
  • บันทึกเอกสารโดยใช้เมธอด Document.Save()

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

// โหลด PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// ทำการจัดการบางอย่าง เช่น เพิ่มหน้าว่างใหม่
pdfDocument.Pages.Add();

// บันทึก PDF ที่อัปเดตแล้ว
pdfDocument.Save(modifiedFileName);

แทรกรูปภาพใน PDF โดยใช้ C#

มาดูวิธีการแทรกรูปภาพในเอกสาร PDF กัน ต่อไปนี้เป็นขั้นตอนในการทำเช่นนั้น

  • สร้างวัตถุของคลาส Document เพื่อเปิดเอกสาร PDF
  • เข้าถึงหน้าที่คุณต้องการเพิ่มรูปภาพโดยใช้คลาส หน้า
  • เพิ่มรูปภาพไปยังคอลเลกชั่น Resources ของเพจ
  • ใช้ตัวดำเนินการเพื่อวางภาพบนหน้า:
    • GSave operator to save the current graphical state.
    • ConcatenateMatrix operator to specify where the image is to be placed.
    • ทำ operator to draw the image on the page.
    • สุดท้าย ใช้โอเปอเรเตอร์ GRestore เพื่อบันทึกสถานะกราฟิกที่อัปเดต
  • บันทึกไฟล์ PDF

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

// เปิดเอกสาร
Document pdfDocument = new Document("document.pdf");

// ตั้งค่าพิกัด
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// รับหน้าที่ต้องการเพิ่มรูปภาพ
Page page = pdfDocument.Pages[1];

// โหลดรูปภาพลงในสตรีม
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// เพิ่มรูปภาพไปยังคอลเลกชันรูปภาพของทรัพยากรของเพจ
page.Resources.Images.Add(imageStream);

// การใช้ตัวดำเนินการ GSave: ตัวดำเนินการนี้บันทึกสถานะกราฟิกปัจจุบัน
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// สร้างวัตถุสี่เหลี่ยมผืนผ้าและเมทริกซ์
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// การใช้ตัวดำเนินการ ConcatenateMatrix (concatenate matrix): กำหนดวิธีการวางรูปภาพ
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// การใช้ตัวดำเนินการ Do: ตัวดำเนินการนี้วาดภาพ
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// การใช้ตัวดำเนินการ GRestore: ตัวดำเนินการนี้จะกู้คืนสถานะกราฟิก
page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); 

// บันทึกเอกสารที่อัปเดต
pdfDocument.Save("document.pdf");

อ่านเพิ่มเติมเกี่ยวกับ แทรกรูปภาพใน PDF

สร้างตารางใน PDF โดยใช้ C#

ตารางเป็นองค์ประกอบสำคัญของเอกสารที่ใช้ในการจัดระเบียบข้อมูลในรูปแบบของแถวและคอลัมน์ Aspose.PDF for .NET มอบวิธีง่ายๆ ในการสร้างและแทรกตารางในเอกสาร PDF ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • โหลดไฟล์ PDF โดยใช้คลาส Document
  • เริ่มต้นตารางและตั้งค่าคอลัมน์และแถวโดยใช้คลาส Table
  • ตั้งค่าตาราง (เช่นเส้นขอบ)
  • เติมตารางด้วยการสร้างแถวโดยใช้เมธอด Table.Rows.Add()
  • เพิ่มตารางไปยังหน้าโดยใช้เมธอด Document.Pages1.Paragraphs.Add(Table)
  • บันทึกไฟล์ PDF

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

// โหลดเอกสาร PDF ต้นทาง
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// เริ่มต้นอินสแตนซ์ใหม่ของตาราง
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// กำหนดสีขอบตารางเป็น LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// กำหนดเส้นขอบให้กับเซลล์ตาราง
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// สร้างลูปเพื่อเพิ่ม 10 แถว
for (int row_count = 1; row_count < 10; row_count++)
{
    // เพิ่มแถวในตาราง
    Aspose.Pdf.Row row = table.Rows.Add();
    // เพิ่มเซลล์ตาราง
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// เพิ่มวัตถุตารางไปที่หน้าแรกของเอกสารอินพุต
doc.Pages[1].Paragraphs.Add(table);

// บันทึกเอกสารที่อัปเดตซึ่งมีวัตถุตาราง
doc.Save("document_with_table_out.pdf");

อ่านเพิ่มเติมเกี่ยวกับ การสร้างตารางใน PDF

สร้างแบบฟอร์มในรูปแบบ PDF ใน C#

แบบฟอร์มใน PDF ใช้เพื่อรวบรวมข้อมูลจากผู้อ่าน คุณสามารถแทรกกล่องข้อความ กล่องกาเครื่องหมาย ปุ่มตัวเลือก และตัวควบคุมอื่นๆ ที่รองรับในรูปแบบ PDF รูปแบบ PDF รองรับแบบฟอร์มสองประเภท แบบฟอร์ม Acro และแบบฟอร์ม XFA (ดูรายละเอียด) ต่อไปนี้เป็นขั้นตอนในการสร้างและเพิ่มแบบฟอร์มใน PDF

  • โหลดไฟล์ PDF โดยใช้คลาส Document
  • สร้างตัวควบคุมฟอร์ม เช่น TextBoxField
  • เพิ่มการควบคุมลงในแบบฟอร์มโดยใช้เมธอด Document.Form.Add(textBoxField, 1)
  • บันทึกเอกสาร PDF

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

// เปิดเอกสาร
Document pdfDocument = new Document("document.pdf");

// สร้างฟิลด์
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = เส้นขอบใหม่ (
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// เพิ่มฟิลด์ลงในเอกสาร
pdfDocument.Form.Add(textBoxField, 1);

// บันทึก PDF ที่แก้ไข
pdfDocument.Save("output.pdf");

อ่านเพิ่มเติมเกี่ยวกับ การสร้างแบบฟอร์มใน PDF

บทสรุป

ในโพสต์นี้ คุณได้เรียนรู้วิธีสร้างไฟล์ PDF ตั้งแต่เริ่มต้นโดยใช้ C# นอกจากนี้ คุณได้ทราบวิธีการแทรกส่วนประกอบประเภทต่างๆ เช่น ข้อความ รูปภาพ ตาราง และแบบฟอร์มในเอกสาร PDF โดยทางโปรแกรม คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ PDF API โดยใช้ เอกสารประกอบ

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

ข้อมูล: Aspose ให้บริการเว็บแอปออนไลน์ฟรีที่ให้คุณ ดู PDF ออนไลน์ อีกอันที่ให้คุณ แปลง PDF เป็นวิดีโอ และอีกอันที่ให้คุณ แก้ไข PDF ออนไลน์.