1. Produk
  2.   PDF
  3.   .NET
  4.   PDFsharp

PDFsharp

 
 

Open Source .NET API untuk Pemprosesan PDF

Cipta, Manipulasi, Tukar & Proses Dokumen PDF melalui Perpustakaan C# .NET Percuma.

Apakah PDFsharp?

Pustaka .NET Sumber Terbuka yang boleh digunakan untuk mencipta, membuat, menggabungkan, memisahkan, mengubah suai, mencetak dan mengekstrak teks atau meta-data fail PDF. API PDFsharp menyokong mencipta dokumen PDF dengan segera daripada mana-mana bahasa .NET. Ia juga menyokong pengimportan data daripada pelbagai sumber melalui fail XML atau antara muka langsung. Ia menyokong banyak pilihan untuk susun atur halaman, pemformatan teks, dan reka bentuk dokumen.

PDFsharp menyediakan pelaksanaan grafik berdasarkan sama ada pada GDI+ atau WPF. API memudahkan kerja pembangun dengan menyediakan ciri untuk menggunakan satu kod sumber untuk melukis pada halaman PDF serta dalam tetingkap atau pada pencetak. Ia menyokong beberapa ciri penting untuk memproses fail PDF seperti mengubah suai PDF, menggabungkan atau memisahkan PDF, penukaran XPS kepada PDF, rendering PDF, pengekstrakan data PDF, pembenaman dan subset fon, sokongan Unicode dan banyak lagi.

Previous Next

Bermula dengan PDFsharp

PDFsharp adalah dwi-lesen sebagai perisian AGPL/Komersial. AGPL ialah lesen perisian percuma/sumber terbuka.

Sangat disyorkan menggunakan NuGet untuk menambah PDFsharp pada projek anda,

Perintah NuGet

 Install-Package PdfSharp

Dengan Visual Studio anda boleh memasang Pengurus Pakej NuGet untuk mengakses pakej NuGet dengan mudah. Ia berfungsi dengan VS 2012 Express serta dengan edisi komuniti VS 2013 dan VS 2015. Dalam Visual Studio pergi ke "Tools" => "Sambungan dan Kemas Kini..." untuk memasang Pengurus Pakej NuGet jika anda belum memilikinya. Pengurus Pakej NuGet akan memuat turun pakej untuk anda, memasangnya dan menambah rujukan kepada projek anda.

Jana & Ubah Suai Dokumen PDF melalui API .NET Percuma

Pembangun perisian boleh menggunakan API PDFsharp untuk mencipta dokumen PDF baharu di dalam aplikasi .NET mereka sendiri. Setelah dokumen dibuat, anda boleh menambah halaman kosong serta memasukkan grafik atau teks dengan mudah. Ia juga memudahkan pembangun mengubah suai dokumen sedia ada mengikut keperluan mereka dan menyimpannya dengan nama pilihan mereka. Menggunakan langkah berikut anda boleh menjana & memanipulasi dokumen PDF dalam C#.

  1. Mulakan PdfDocument
  2. Tambah Halaman
  3. Dapatkan objek XGraphics untuk melukis
  4. Buat fon
  5. Tambah Teks
  6. Simpan Dokumen

Buat PDF menggunakan 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");
    

Cipta Anotasi PDF melalui .NET API

Anotasi membolehkan pengguna menambah kandungan tersuai pada halaman PDF. Aplikasi PDF biasanya membenarkan penciptaan & pengubahsuaian pelbagai jenis anotasi, seperti teks, garisan, nota atau bentuk, dsb. PDFsharp membolehkan pengaturcara mencipta pelbagai jenis anotasi PDF dalam aplikasi mereka sendiri. Perpustakaan menyokong penciptaan anotasi teks, pautan dan anotasi cap getah.

Buat Anotasi Teks PDF melalui 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);

Gabungkan Berbilang Dokumen PDF melalui .NET

Adakah anda mempunyai banyak dokumen PDF yang perlu digabungkan menjadi satu dokumen besar? API PDFsharp memberikan anda fungsi untuk menggabungkan berbilang fail PDF menjadi satu dengan hanya beberapa baris kod. Pembangun boleh membuat dokumen baharu dengan mudah daripada fail PDF sedia ada. Ini mungkin berguna untuk perbandingan visual atau beberapa tugas penting lain.

Gabungkan Dokumen melalui 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);
 Melayu