! قاعدة المعرفة itext في مشاركتنا السابقة ، تحدثنا عن itextPDF API للعمل مع ملفات PDF باستخدام C#/VB.NET في .NET Applications. يتيح لك واجهة برمجة التطبيقات إنشاء مستندات PDF وتحريرها ومعالجتها دون الدخول في أي تفاصيل تنسيق ملف داخلي لتنسيق ملف PDF. من السهل العمل باستخدام itextpdf مع عدد قليل من الأسطر من التعليمات البرمجية ، يمكنك البدء في إنشاء وقراءة ومعالجة ملفات PDF. في هذه المقالة ، سنتحدث عن استخدام itextpdf في تطبيق .NET لإنشاء ملفات PDF وقراءتها وحفظها برمجيًا في تطبيق C#. لذلك ، دعنا نبدأ ونلقي نظرة على كيفية إنشاء PDF في C#.

تثبيت itextpdf

يمكنك تثبيت itextpdf API إما من nuget أو من itext الخادم الفني . قبل أن تتمكن من إنشاء تطبيق C# الخاص بك لاستخدام واجهة برمجة تطبيقات itextpdf ، تحتاج إلى تثبيته من أي من هذه المصادر. يمكنك الرجوع إلى مقالة التعليمات “لتثبيت itextpdf API لإعداد تطبيق وحدة التحكم الخاصة بك لهذا الغرض.

نظرة عامة على فئات API الرئيسية itextpdf

بعض فئات itextpdf الرئيسية هي كما يلي.

pdfdocument

يتم بدء كل مستند PDF الذي تم إنشاؤه باستخدام itextPDF باستخدام كائن من فئة PDFDOCUMITY.

pdfwriter

PDFWriter Class مسؤولة عن كتابة محتوى PDF إلى وجهة ، مثل ملف أو دفق. يوفر الوظيفة لإنشاء مستند PDF وتحديد وجهة الإخراج. بعض الميزات والمسؤوليات الرئيسية لفئة PDFWriter هي كما يلي.

Destination ConfigurationThe PdfWriter constructor allows you to specify the output destination for the PDF content. It can accept parameters like a file path, a Stream object, or an instance of IOutputStreamCounter. This determines where the PDF content will be written.
PDF Document CreationWhen you create a new instance of PdfWriter, it automatically creates a new PdfDocument object associated with it. The PdfDocument represents the logical structure of a PDF file and provides methods to manipulate its content.
PDF Compression and Version ControlThe PdfWriter class allows you to configure various aspects of the PDF file, such as compression settings and PDF version compatibility.
Writing PDF ContentOnce you have a PdfWriter instance, you can use it to write content to the associated PdfDocument. You can add pages, create annotations, add text, images, and other graphical elements to the PDF document using the provided methods.
Closing the WriterAfter you finish writing the PDF content, it’s important to close the PdfWriter to ensure the document is finalized and any necessary resources are released.

paragraph

تمثل فئة الفقرة فقرة نصية في مستند PDF. يتم استخدامه لإضافة محتوى نصي إلى مستند PDF. فيما يلي بعض الميزات والمسؤوليات الرئيسية لفئة الفقرة:

Text ContentThe primary purpose of the Paragraph class is to hold and display textual content within a PDF document. You can pass a string or any other text representation to the Paragraph constructor to initialize its content.
Text FormattingThe Paragraph class allows you to apply various formatting options to the text, such as font size, font family, text color, bold, italic, underline, and more. You can use methods like SetFontSize(), SetFont(), SetBold(), SetItalic(), SetUnderline(), etc., to specify the desired formatting.
Alignment and IndentationThe Paragraph class provides methods to set the alignment of the text within the paragraph. You can align the text to the left, right, or center, or justify it. Additionally, you can apply indentation to control the left and right margins of the paragraph.
Inline ElementsApart from plain text, you can also add inline elements within a Paragraph. For example, you can include phrases or words with different formatting styles, add hyperlinks, insert images, or include other elements supported by iText.
NestingYou can nest multiple paragraphs within each other or combine them with other iText elements like tables, lists, or chunks to create complex document structures.
Integration with DocumentThe Paragraph instances can be added to the Document object using the Add() method. This allows you to include paragraphs in your PDF document at the desired location.

كيفية إنشاء ملف PDF في C#؟

الآن بعد أن أصبح لدينا فكرة جيدة عن itextpdf وفصولها الرئيسية ، دعونا ننتقل إلى إنشاء مستند PDF في C# باستخدام itextpdf API. يمكن القيام بذلك بخطوات قليلة على النحو التالي.

  1. إنشاء مشروع جديد في Visual Studio.
  2. قم بتثبيت مكتبة itextpdf c# باستخدام Nuget Package Manager.
  3. قم بإنشاء مثيلات من فئات PDFDocument و PDFWriter
  4. قم بإنشاء مثيلات من فئات المستندات والفقرات
  5. أغلق المستند باستخدام طريقة document.close ()

C# Code Snippet لإنشاء ملف pdf

يمكن استخدام رمز C# لإنشاء ملف PDF.

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

class Program
{
    static void Main()
    {
        // Specify the output file path
        string outputPath = "example.pdf";
        // Create a new PDF document
        PdfWriter writer = new PdfWriter(outputPath);
        PdfDocument pdf = new PdfDocument(writer);
        // Create a document instance
        Document document = new Document(pdf);
        // Add content to the document
        document.Add(new Paragraph("Hello, World!"));
        // Close the document
        document.Close();
        Console.WriteLine("PDF created successfully.");
    }
}

كيفية تحديث ملف PDF في C#؟

يمكن بسهولة تحديث/تحرير ملف PDF في C# باستخدام itextPDF.

  1. افتح مستند PDF الحالي باستخدام كائن pdfreader .
  2. قم بإنشاء كائن PDFWriter مع وجهة إخراج جديدة أو معدلة (مثل ملف أو دفق).
  3. قم بإنشاء كائن pdfdocument باستخدام كل من pdfreader و pdfwriter كائنات.
  4. الوصول إلى الصفحات الحالية ومحتوى المستند باستخدام مثيل PDFDOCUMITY.
  5. قم بإجراء التعديلات اللازمة للوثيقة ، مثل إضافة المحتوى أو إزالة المحتوى ، وتحديث النص ، وتعديل التعليقات التوضيحية ، إلخ.
  6. أغلق pdfdocument ، الذي يغلق تلقائيًا pdfreader و pdfwriter أيضًا ، ويحفظ التغييرات على وجهة الإخراج.

C# Code Snippet لتحديث ملف pdf

يمكن استخدام رمز C# لتحديث ملف PDF.

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

class Program
{
    static void Main()
    {
        string filePath = "existing.pdf";
        string outputPath = "updated.pdf";
        // Open the existing PDF document
        PdfReader reader = new PdfReader(filePath);
        // Create a new PDF document with modified output destination
        PdfWriter writer = new PdfWriter(outputPath);
        // Create a PdfDocument object with both the reader and writer
        PdfDocument pdfDoc = new PdfDocument(reader, writer);
        // Access the first page of the document
        PdfPage firstPage = pdfDoc.GetPage(1);
        // Create a document instance for the page
        Document document = new Document(pdfDoc, firstPage);
        // Add a new paragraph to the document
        document.Add(new Paragraph("This is a new paragraph added to the existing PDF."));
        // Close the document, which saves the changes
        document.Close();
        // Close the reader
        reader.Close();
        Console.WriteLine("PDF updated successfully.");
    }
}

الخاتمة

في هذه المقالة ، استكشفنا واجهة برمجة تطبيقات itextpdf لـ .NET للتعرف على إنشاء ملفات PDF ومعالجتها من داخل تطبيق .NET الخاص بنا. واجهة برمجة التطبيقات مفتوحة المصدر ويتم استضافتها على مستودع GitHub كـ itext-dotnet. في مدوناتنا القادمة ، سنستكشف مواجهة واجهة برمجة التطبيقات هذه للعمل مع مكونات مختلفة من وثيقة PDF مثل الجداول والصور والشروح و PDF المنقوشة وغيرها الكثير. ابقي على اتصال.