PDFsharp

 
 

โอเพ่นซอร์ส .NET API สำหรับการประมวลผล PDF

สร้าง จัดการ แปลง และประมวลผลเอกสาร PDF ผ่านไลบรารี C# .NET ฟรี

PDFsharp คืออะไร?

ไลบรารีโอเพ่นซอร์ส .NET ที่สามารถใช้เพื่อสร้าง แสดงผล ผสาน แยก แก้ไข พิมพ์และแยกข้อความหรือข้อมูลเมตาของไฟล์ PDF PDFsharp API รองรับการสร้างเอกสาร PDF ได้ทันทีจากภาษา .NET ใดๆ นอกจากนี้ยังรองรับการนำเข้าข้อมูลจากแหล่งต่าง ๆ ผ่านไฟล์ XML หรืออินเทอร์เฟซโดยตรง รองรับตัวเลือกมากมายสำหรับเค้าโครงหน้า การจัดรูปแบบข้อความ และการออกแบบเอกสาร

PDFsharp จัดเตรียมการใช้งานแบบกราฟิกตาม GDI+ หรือ WPF API ทำให้งานของนักพัฒนาง่ายขึ้นด้วยการนำเสนอคุณสมบัติสำหรับการใช้ซอร์สโค้ดเดียวสำหรับการวาดภาพบนหน้า PDF เช่นเดียวกับในหน้าต่างหรือบนเครื่องพิมพ์ รองรับคุณสมบัติที่สำคัญหลายประการสำหรับการประมวลผลไฟล์ PDF เช่น การแก้ไข PDF, การรวมหรือแยกไฟล์ PDF, การแปลง XPS เป็น PDF, การเรนเดอร์ PDF, การดึงข้อมูล PDF, การฝังฟอนต์และการตั้งค่าย่อย, รองรับ Unicode และอื่นๆ อีกมากมาย

Previous Next

เริ่มต้นใช้งาน PDFsharp

PDFsharp เป็นซอฟต์แวร์ AGPL / Commercial AGPL เป็นลิขสิทธิ์ซอฟต์แวร์ฟรี/โอเพ่นซอร์ส

ขอแนะนำอย่างยิ่งให้ใช้ NuGet เพื่อเพิ่ม PDFsharp ให้กับโครงการของคุณ

คำสั่ง NuGet

 Install-Package PdfSharp

ด้วย Visual Studio คุณสามารถติดตั้ง NuGet Package Manager เพื่อเข้าถึงแพ็คเกจ NuGet ได้อย่างง่ายดาย มันใช้งานได้กับ VS 2012 Express เช่นเดียวกับรุ่นชุมชนของ VS 2013 และ VS 2015 ใน Visual Studio ให้ไปที่ "เครื่องมือ" => "ส่วนขยายและการอัปเดต..." เพื่อติดตั้ง NuGet Package Manager หากคุณยังไม่มี NuGet Package Manager จะดาวน์โหลดแพ็คเกจให้คุณ ติดตั้ง และเพิ่มการอ้างอิงไปยังโปรเจ็กต์ของคุณ

สร้างและแก้ไขเอกสาร PDF ผ่าน .NET API . ฟรี

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

  1. เริ่มต้น PdfDocument
  2. เพิ่มหน้า
  3. รับวัตถุ XGraphics สำหรับการวาดภาพ
  4. สร้างแบบอักษร
  5. เพิ่มข้อความ
  6. บันทึกเอกสาร

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

// Create a new PDF document
PdfDocument pdfDocument = new PdfDocument();
// Create an empty page
PdfPage pdfPage = pdfDocument.AddPage();
// Get an XGraphics object for drawing
XGraphics xGraphics = XGraphics.FromPdfPage(pdfPage);
// Create a font
XFont xFont = new XFont("Verdana", 20, XFontStyle.BoldItalic);
// Draw the text
xGraphics.DrawString("File Format Developer Guide", xFont, XBrushes.Black,
    new XRect(0, 0, pdfPage.Width, pdfPage.Height),
    XStringFormats.Center);
// Save the document...
pdfDocument.Save("fileformat.pdf");
    

สร้างคำอธิบายประกอบ PDF ผ่าน .NET API

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

สร้างคำอธิบายประกอบข้อความ PDF ผ่าน C #

 // Create a PDF text annotation
PdfTextAnnotation textAnnot = new PdfTextAnnotation();
textAnnot.Title = "This is the title";
textAnnot.Subject = "This is the subject";
textAnnot.Contents = "This is the contents of the annotation.\rThis is the 2nd line.";
textAnnot.Icon = PdfTextAnnotationIcon.Note;
gfx.DrawString("The first text annotation", font, XBrushes.Black, 30, 50, XStringFormats.Default);
// Convert rectangle from world space to page space. This is necessary because the annotation is
// placed relative to the bottom left corner of the page with units measured in point.
XRect rect = gfx.Transformer.WorldToDefaultPage(new XRect(new XPoint(30, 60), new XSize(30, 30)));
textAnnot.Rectangle = new PdfRectangle(rect);
// Add the annotation to the page
page.Annotations.Add(textAnnot);

รวมเอกสาร PDF หลายฉบับผ่าน .NET

คุณมีเอกสาร PDF จำนวนมากที่ต้องรวมเป็นเอกสารขนาดใหญ่เพียงฉบับเดียวหรือไม่? PDFsharp API มอบฟังก์ชันสำหรับการรวมไฟล์ PDF หลายไฟล์เป็นไฟล์เดียวด้วยโค้ดเพียงไม่กี่บรรทัด นักพัฒนาสามารถสร้างเอกสารใหม่จากไฟล์ PDF ที่มีอยู่ได้อย่างง่ายดาย ซึ่งอาจเป็นประโยชน์สำหรับการเปรียบเทียบภาพหรืองานสำคัญอื่นๆ

รวมเอกสารผ่าน Java

 // Open the input files
PdfDocument inputDocument1 = PdfReader.Open(filename1, PdfDocumentOpenMode.Import);
PdfDocument inputDocument2 = PdfReader.Open(filename2, PdfDocumentOpenMode.Import);
// Create the output document
PdfDocument outputDocument = new PdfDocument();
// Show consecutive pages facing. Requires Acrobat 5 or higher.
outputDocument.PageLayout = PdfPageLayout.TwoColumnLeft;
XFont font = new XFont("Verdana", 10, XFontStyle.Bold);
XStringFormat format = new XStringFormat();
format.Alignment = XStringAlignment.Center;
format.LineAlignment = XLineAlignment.Far;
XGraphics gfx;
XRect box;
int count = Math.Max(inputDocument1.PageCount, inputDocument2.PageCount);
for (int idx = 0; idx < count; idx++)
{
// Get page from 1st document
PdfPage page1 = inputDocument1.PageCount > idx ?
inputDocument1.Pages[idx] : new PdfPage();
// Get page from 2nd document
PdfPage page2 = inputDocument2.PageCount > idx ?
inputDocument2.Pages[idx] : new PdfPage();
// Add both pages to the output document
page1 = outputDocument.AddPage(page1);
page2 = outputDocument.AddPage(page2);
// Write document file name and page number on each page
gfx = XGraphics.FromPdfPage(page1);
box = page1.MediaBox.ToXRect();
box.Inflate(0, -10);
gfx.DrawString(String.Format("{0} • {1}", filename1, idx + 1),
font, XBrushes.Red, box, format);
gfx = XGraphics.FromPdfPage(page2);
box = page2.MediaBox.ToXRect();
box.Inflate(0, -10);
gfx.DrawString(String.Format("{0} • {1}", filename2, idx + 1),
font, XBrushes.Red, box, format);
}
// Save the document...
const string filename = "CompareDocument1_tempfile.pdf";
outputDocument.Save(filename);
 ไทย