إنشاء PDF متوافق مع PDF/3-A وإرفاق فاتورة ZUGFeRD في C#

إرفاق ZUGFeRD إلى PDF

تعمل مقتطفات الشيفرة التالية أيضًا مع مكتبة Aspose.PDF.Drawing.

نوصي باتباع الخطوات التالية لإرفاق ZUGFeRD إلى PDF:

  • تعريف متغير مسار يشير إلى مجلد حيث توجد ملفات PDF المدخلة والمخرجة.
  • إنشاء كائن مستند عن طريق تحميل ملف PDF موجود (مثل “ZUGFeRD-test.pdf”) من المسار.
  • إنشاء كائن FileSpecification من خلال توفير المسار ووصف لملف آخر يسمى “factur-x.xml”، والذي يحتوي على بيانات الفاتورة المتوافقة مع معيار ZUGFeRD.
  • إضافة خصائص إلى كائن مواصفة الملف، مثل الوصف ونوع MIME وعلاقة AF. تشير علاقة AF إلى كيفية ارتباط الملف المضمن بمستند PDF. في هذه الحالة، تم تعيينها إلى “بديل”، مما يعني أن الملف المضمن هو تمثيل بديل لمحتوى PDF.
  • إضافة كائن مواصفة الملف إلى مجموعة الملفات المضمنة في المستند. يجب تحديد اسم الملف وفقًا لمعيار ZUGFeRD، مثل “factur-x.xml”.
  • تحويل المستند إلى تنسيق PDF/A-3B، وهو مجموعة فرعية من PDF تضمن الحفاظ على المستندات الإلكترونية على المدى الطويل. يسمح PDF/A-3B بتضمين ملفات من أي تنسيق في مستندات PDF.
  • حفظ المستند المحول كملف PDF جديد (مثل “ZUGFeRD-res.pdf”).
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AttachZUGFeRD()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "ZUGFeRD-testInput.pdf"))
    {
        // Setup new file to be added as attachment
        var description = "Invoice metadata conforming to ZUGFeRD standard";
        var fileSpecification = new Aspose.Pdf.FileSpecification(dataDir + "ZUGFeRD-testXmlInput.xml", description)
        {
            Description = "Zugferd",
            MIMEType = "text/xml",
            Name = "factur-x.xml"
        };
        // Add attachment to document's attachment collection
        document.EmbeddedFiles.Add(fileSpecification);
        document.Convert(new MemoryStream(), Aspose.Pdf.PdfFormat.ZUGFeRD, Aspose.Pdf.ConvertErrorAction.Delete);
        // Save PDF document
        document.Save(dataDir + "AttachZUGFeRD_out.pdf");
    }
}

تأخذ طريقة التحويل دفقًا، وتنسيق PDF، وإجراء خطأ التحويل كمعلمات. يمكن استخدام معلمة الدفق لحفظ سجل التحويل. تحدد معلمة إجراء خطأ التحويل ما يجب القيام به إذا حدثت أي أخطاء أثناء التحويل. في هذه الحالة، تم تعيينها إلى “حذف”، مما يعني أنه سيتم حذف أي عناصر غير متوافقة مع تنسيق PDF/A-3B من المستند.