تحويل ملفات PDF إلى صيغ PDF/A

Aspose.PDF لـ .NET يتيح لك تحويل ملف PDF إلى ملف PDF متوافق مع PDF/A. قبل القيام بذلك، يجب التحقق من صحة الملف. هذا الموضوع يشرح كيفية ذلك.

قم بتحويل الملف باستخدام طريقة Convert للفئة Document.

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

تحويل ملف PDF إلى PDF/A-1b

الشفرة التالية توضح كيفية تحويل ملفات PDF إلى PDF متوافق مع PDF/A-1b.

// للحصول على أمثلة كاملة وملفات بيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// المسار إلى دليل الوثائق.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

// فتح المستند
Document pdfDocument = new Document(dataDir + "PDFToPDFA.pdf");
           
// تحويل إلى مستند متوافق مع PDF/A
// خلال عملية التحويل، يتم أيضًا أداء التحقق
pdfDocument.Convert(dataDir + "log.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);

dataDir = dataDir + "PDFToPDFA_out.pdf";
// حفظ المستند الناتج
pdfDocument.Save(dataDir);

لأداء التحقق فقط، استخدم السطر التالي من الشفرة:

// للأمثلة الكاملة وملفات البيانات، يرجى زيارة https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// مسار الدليل الخاص بالوثائق.
string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

// فتح الوثيقة
Document pdfDocument = new Document(dataDir + "ValidatePDFAStandard.pdf");

// التحقق من صحة PDF لمعيار PDF/A-1a
pdfDocument.Validate(dataDir + "validation-result-A1A.xml", PdfFormat.PDF_A_1B);

تحويل ملف PDF إلى PDF/A-3b

Aspose.PDF for .NET يدعم أيضًا خاصية تحويل ملف PDF إلى تنسيق PDF/A-3b.

// للأمثلة الكاملة وملفات البيانات، يرجى زيارة https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// مسار الدليل الخاص بالوثائق.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

// فتح الوثيقة
Document pdfDocument = new Document(dataDir + "input.pdf");           

pdfDocument.Convert(new MemoryStream(), PdfFormat.PDF_A_3B, ConvertErrorAction.Delete);

dataDir = dataDir + "PDFToPDFA3b_out.pdf";
// حفظ الوثيقة الناتجة
pdfDocument.Save(dataDir);

تحويل ملف PDF إلى PDF/A-2u

يدعم Aspose.PDF لـ .NET أيضًا خاصية تحويل ملف PDF إلى تنسيق PDF/A-2u.

string inFile = "input.pdf";
string outFile = "output.pdf";
Aspose.PDF.Document doc = new Aspose.PDF.Document(inFile);
doc.Convert(new MemoryStream(), PdfFormat.PDF_A_2U, ConvertErrorAction.Delete);
doc.Save(outFile);

تحويل ملف PDF إلى PDF/A-3u

يدعم Aspose.PDF لـ .NET أيضًا خاصية تحويل ملف PDF إلى تنسيق PDF/A-3u.

string inFile = "input.pdf";
string outFile = "output.pdf";
Aspose.PDF.Document doc = new Aspose.PDF.Document(inFile);
doc.Convert(new MemoryStream(), PdfFormat.PDF_A_3U, ConvertErrorAction.Delete);
doc.Save(outFile);

إضافة مرفق إلى ملف PDF/A

في حال كان لديك متطلب لإرفاق ملفات إلى تنسيق PDF/A المتوافق، نوصي باستخدام قيمة PDF_A_3A من تعداد Aspose.PDF.PdfFormat. PDF/A_3a هو التنسيق الذي يوفر خاصية إرفاق أي نوع ملف كمرفق لملف PDF/A المتوافق.

```csharp
// للحصول على أمثلة كاملة وملفات بيانات، يرجى زيارة https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// مسار إلى مجلد الوثائق.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

// توثيق مثيل Document لتحميل ملف موجود
Aspose.Pdf.Document doc = new Document(dataDir + "input.pdf");
// إعداد ملف جديد ليتم إضافته كمرفق
FileSpecification fileSpecification = new FileSpecification(dataDir + "aspose-logo.jpg", "ملف صورة كبير");
// إضافة المرفق إلى مجموعة مرفقات الوثيقة
doc.EmbeddedFiles.Add(fileSpecification);
// تنفيذ التحويل إلى PDF/A_3a حتى يتم تضمين المرفق في الملف الناتج
doc.Convert(dataDir + "log.txt", Aspose.Pdf.PdfFormat.PDF_A_3A, ConvertErrorAction.Delete);
// حفظ الملف الناتج
doc.Save(dataDir + "AddAttachmentToPDFA_out.pdf");

استبدال الخطوط المفقودة بخطوط بديلة

وفقًا لمعايير PDFA، يجب تضمين الخطوط في مستند PDFA. وفقًا لمعايير PDFA، يجب تضمين الخطوط في مستند PDFA.

// للحصول على أمثلة كاملة وملفات البيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// المسار إلى دليل المستندات.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

Aspose.Pdf.Text.Font originalFont = null;
try
{
    originalFont = FontRepository.FindFont("AgencyFB");
}
catch (Exception)
{
    // الخط مفقود على جهاز الوجهة
    FontRepository.Substitutions.Add(new SimpleFontSubstitution("AgencyFB", "Arial"));
}
var fileNew = new FileInfo(dataDir + "newfile_out.pdf");
var pdf = new Document(dataDir + "input.pdf");
pdf.Convert( dataDir +  "log.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
pdf.Save(fileNew.FullName);