تحويل تنسيقات الملفات الأخرى إلى PDF في .NET

نظرة عامة

تشرح هذه المقالة كيفية تحويل أنواع مختلفة من تنسيقات الملفات إلى PDF باستخدام C#. تغطي المواضيع التالية.

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

التنسيق: EPUB

التنسيق: Markdown

التنسيق: MD

التنسيق: PCL

التنسيق: نص

التنسيق: TXT

التنسيق: نص عادي

التنسيق: نص مُنسق مسبقًا

التنسيق: نص مسبق

التنسيق: XPS

تحويل EPUB إلى PDF

Aspose.PDF for .NET يتيح لك ببساطة تحويل ملفات EPUB إلى تنسيق PDF.

EPUB (اختصار للنشر الإلكتروني) هو معيار كتاب إلكتروني مجاني ومفتوح من منتدى النشر الرقمي الدولي (IDPF). الملفات لها امتداد .epub. تم تصميم EPUB لمحتوى قابل لإعادة التدفق، مما يعني أن قارئ EPUB يمكنه تحسين النص لجهاز عرض معين.

يدعم EPUB أيضًا محتوى بتنسيق ثابت. التنسيق مخصص كتنسيق واحد يمكن للناشرين وبيوت التحويل استخدامه داخليًا، بالإضافة إلى التوزيع والبيع. يحل محل معيار Open eBook. النسخة EPUB 3 مدعومة أيضًا من قبل مجموعة دراسة صناعة الكتب (BISG)، وهي جمعية تجارية رائدة للكتب لأفضل الممارسات القياسية، والبحث، والمعلومات، والفعاليات، لتغليف المحتوى.

الخطوات: تحويل EPUB إلى PDF في C#

  1. إنشاء مثيل من فئة EpubLoadOptions.
  2. إنشاء مثيل من فئة Document مع ذكر اسم ملف المصدر والخيارات.
  3. حفظ المستند بالاسم المطلوب.

يظهر مقتطف الكود التالي كيفية تحويل ملفات EPUB إلى تنسيق PDF باستخدام C#.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertEPUBtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options
    var options = new Aspose.Pdf.EpubLoadOptions();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "EPUBToPDF.epub", options))
    {
        // Save PDF document
        document.Save(dataDir + "ConvertEPUBtoPDF_out.pdf");
    }
}

يمكنك أيضًا تعيين حجم الصفحة للتحويل. لتحديد حجم صفحة جديدة، تحتاج إلى كائن SizeF وتمريره إلى مُنشئ EpubLoadOptions.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertEPUBtoPDFAdv()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options
    var options = new Aspose.Pdf.EpubLoadOptions(new SizeF(1190, 1684));

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "EPUBToPDF.epub", options))
    {
        // Save PDF document
        document.Save(dataDir + "ConvertEPUBtoPDFAdv_out.pdf");
    }
}

تحويل Markdown إلى PDF

تدعم هذه الميزة الإصدار 19.6 أو أعلى.

Aspose.PDF for .NET يوفر الوظيفة لإنشاء مستند PDF بناءً على ملف بيانات Markdown المدخل. من أجل تحويل Markdown إلى PDF، تحتاج إلى تهيئة Document باستخدام MdLoadOptions.

يظهر مقتطف الكود التالي كيفية استخدام هذه الوظيفة مع مكتبة Aspose.PDF:

الخطوات: تحويل Markdown إلى PDF في C# | الخطوات: تحويل MD إلى PDF في C#

  1. إنشاء مثيل من فئة MdLoadOptions .
  2. إنشاء مثيل من فئة Document مع ذكر اسم ملف المصدر والخيارات.
  3. حفظ المستند بالاسم المطلوب.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertMarkdownToPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options
    var options = new Aspose.Pdf.MdLoadOptions();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "sample.md", options))
    {
        // Save PDF document
        document.Save(dataDir + "ConvertMarkdownToPDF_out.pdf");
    }
}

تحويل PCL إلى PDF

PCL (لغة أوامر الطابعة) هي لغة طابعة تم تطويرها بواسطة Hewlett-Packard للوصول إلى ميزات الطابعة القياسية. تعتبر مستويات PCL من 1 إلى 5e/5c لغات قائمة على الأوامر تستخدم تسلسلات تحكم تتم معالجتها وتفسيرها بالترتيب الذي تم استلامها به. على مستوى المستهلك، يتم إنشاء تدفقات بيانات PCL بواسطة برنامج تشغيل الطباعة. يمكن أيضًا إنشاء مخرجات PCL بسهولة بواسطة تطبيقات مخصصة.

حاليًا، يتم دعم PCL5 والإصدارات الأقدم فقط

مجموعات الأوامر الدعم الاستثناءات الوصف
أوامر التحكم في الوظائف + وضع الطباعة المزدوج التحكم في عملية الطباعة: عدد النسخ، صندوق الإخراج، الطباعة البسيطة/المزدوجة، الهوامش اليسرى والعلوية، إلخ.
أوامر التحكم في الصفحة + أمر تخطي التثقيب تحديد حجم الصفحة، الهوامش، اتجاه الصفحة، المسافات بين الأسطر، المسافات بين الأحرف، إلخ.
أوامر تحديد موضع المؤشر +   تحديد موضع المؤشر وبالتالي، أصول النص، الصور النقطية أو المتجهة والتفاصيل.
أوامر اختيار الخط +
  1. أمر بيانات الطباعة الشفافة.
  2. الخطوط الناعمة المدمجة. في الإصدار الحالي بدلاً من إنشاء خط ناعم، تختار مكتبتنا خطًا مناسبًا من "الخطوط" TrueType المثبتة على الجهاز المستهدف.
    يتم تحديد الملاءمة بواسطة نسبة العرض/الارتفاع.
    تعمل هذه الميزة فقط مع الخطوط النقطية وخطوط TrueType ولا تضمن أن النص المطبوع باستخدام الخط الناعم سيكون مطابقًا للنص في ملف المصدر.
    لأن رموز الأحرف في الخط الناعم قد لا تتطابق مع الرموز الافتراضية.
  3. مجموعات الرموز المعرفة من قبل المستخدم.
السماح بتحميل الخطوط الناعمة (المضمنة) من ملف PCL وإدارتها في الذاكرة.
أوامر الرسوميات النقطية + فقط بالأبيض والأسود السماح بتحميل الصور النقطية من ملف PCL إلى الذاكرة، وتحديد معلمات النقطية.
مثل العرض، الارتفاع، نوع الضغط، الدقة، إلخ.
أوامر الألوان +   السماح بتلوين جميع الكائنات القابلة للطباعة.
أوامر نموذج الطباعة +   السماح بملء النص، الصور النقطية والمناطق المستطيلة بنمط نقطي محدد مسبقًا و
أنماط معرفة من قبل المستخدم، وتحديد وضع الشفافية للأنماط وصورة النقطية المصدر.
الأنماط المحددة مسبقًا هي الأنماط المتقاطعة، والتظليل.
أوامر ملء منطقة مستطيلة +   السماح بإنشاء وملء المناطق المستطيلة بأنماط.
أوامر الرسوميات المتجهة HP-GL/2 + أمر الرسوميات المتجهة المصفاة (SV)، أمر وضع الشفافية (TR)، أمر بيانات الشفافية (TD)، RO (تدوير نظام الإحداثيات)، أمر الخطوط القابلة للتعديل أو النقطية (SB)، أمر ميل الأحرف (SL) و المساحة الإضافية (ES) لم يتم تنفيذها وأوامر DV (تحديد مسار النص المتغير) تم تنفيذها في الإصدار التجريبي. السماح بتحميل صور HP-GL/2 المتجهة من ملف PCL إلى الذاكرة. تحتوي الصورة المتجهة على أصل في الزاوية السفلى اليسرى من منطقة الطباعة، ويمكن تغيير حجمها، وترجمتها، وتدويرها، وقصها.
يمكن أن تحتوي الصورة المتجهة على نص، كعلامات، وأشكال هندسية مثل المستطيل، الدائرة، البيضاوي، الخط، القوس، منحنى بيزييه والأشكال المعقدة المكونة من الأشكال البسيطة.
يمكن ملء الأشكال المغلقة بما في ذلك أحرف العلامات بالتعبئة الصلبة أو نمط متجه.
يمكن أن يكون النمط متقاطعًا، متقاطعًا، تظليلًا، نقطيًا معرفة من قبل المستخدم، تظليل PCL أو متقاطع PCL ونمط معرفة من قبل المستخدم. أنماط PCL هي نقطية. يمكن تدوير العلامات بشكل فردي، وتغيير حجمها، وتوجيهها في أربع اتجاهات: لأعلى، لأسفل، لليسار ولليمين. تشمل الاتجاهات اليسرى واليمنى ترتيب الأحرف واحدًا تلو الآخر. تشمل الاتجاهات لأعلى ولأسفل ترتيب الأحرف واحدًا تحت الآخر.
الماكرو   السماح بتحميل تسلسل من أوامر PCL إلى الذاكرة واستخدام هذا التسلسل عدة مرات، على سبيل المثال، لطباعة رأس الصفحة أو تعيين تنسيق واحد لمجموعة من الصفحات.
نص Unicode   السماح بطباعة الأحرف غير ASCII. لم يتم تنفيذها بسبب نقص ملفات عينة مع
نص Unicode
PCL6 (PCL-XL)   تم تنفيذها فقط في الإصدار التجريبي بسبب نقص في ملفات الاختبار. الخطوط المدمجة أيضًا غير مدعومة.
امتداد JetReady غير مدعوم لأنه من المستحيل الحصول على مواصفات JetReady.
تنسيق ملف ثنائي.

تحويل ملف PCL إلى تنسيق PDF

للسماح بالتحويل من PCL إلى PDF، تحتوي Aspose.PDF على فئة PclLoadOptions التي تُستخدم لتهيئة كائن LoadOptions. لاحقًا، يتم تمرير هذا الكائن كوسيط أثناء تهيئة كائن Document ويساعد محرك عرض PDF في تحديد تنسيق الإدخال لمستند المصدر.

يظهر مقتطف الكود التالي عملية تحويل ملف PCL إلى تنسيق PDF.

الخطوات: تحويل PCL إلى PDF في C#

  1. إنشاء مثيل من فئة PclLoadOptions .
  2. إنشاء مثيل من فئة Document مع ذكر اسم ملف المصدر والخيارات.
  3. حفظ المستند بالاسم المطلوب.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPCLtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options
    var options = new Aspose.Pdf.PclLoadOptions();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "ConvertPCLtoPDF.pcl", options))
    {
        // Save PDF document
        document.Save(dataDir + "ConvertPCLtoPDF_out.pdf");
    }
}

يمكنك أيضًا مراقبة اكتشاف الأخطاء أثناء عملية التحويل. للقيام بذلك، تحتاج إلى تكوين كائن PclLoadOptions: تعيين أو إلغاء تعيين SupressErrors.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPCLtoPDFAdvanced()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options
    var options = new Aspose.Pdf.PclLoadOptions { SupressErrors = true };

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "ConvertPCLtoPDFAdvanced.pcl", options))
    {
        if (options.Exceptions != null)
        {
            foreach (var ex in options.Exceptions)
            {
                Console.WriteLine(ex.Message);
            }
        }
        // Save PDF document
        document.Save(dataDir + "ConvertPCLtoPDFAdvanced_out.pdf");
    }
}

المشكلات المعروفة

  1. قد يختلف أصل سلاسل النصوص والصور قليلاً عن تلك الموجودة في ملف PCL المصدر إذا كانت اتجاه الطباعة ليست 0°. ينطبق نفس الشيء على الصور المتجهة إذا تم تدوير نظام الإحداثيات لرسم المتجه (تم تقديم أمر RO).
  2. قد يختلف أصل العلامات في الصور المتجهة عن تلك الموجودة في ملف PCL المصدر إذا تأثرت العلامات بتسلسل من الأوامر: أصل العلامة (LO)، تحديد مسار النص المتغير (DV)، الاتجاه المطلق (DI) أو الاتجاه النسبي (DR).
  3. قد يتم قراءة النص بشكل غير صحيح إذا كان يجب أن يتم عرضه باستخدام خط ناعم (مضمن) نقطي أو TrueType، لأن هذه الخطوط مدعومة حاليًا جزئيًا فقط (انظر الاستثناءات في “جدول الميزات المدعومة”). في هذه الحالة، يمكن قراءة النص بشكل صحيح فقط إذا كانت رموز الأحرف في الخط الناعم تتوافق مع الرموز الافتراضية. قد يختلف نمط النص المقروء أيضًا عن النمط في ملف PCL المصدر لأنه ليس من الضروري تعيين النمط في رأس الخط الناعم.
  4. إذا كان ملف PCL الذي تم تحليله يحتوي على خطوط ناعمة Intellifont أو Universal، سيتم طرح استثناء، لأن خطوط Intellifont وUniversal غير مدعومة على الإطلاق.
  5. إذا كان ملف PCL الذي تم تحليله يحتوي على أوامر ماكرو، فإن نتيجة التحليل ستختلف بشكل كبير عن ملف المصدر، لأن أوامر الماكرو غير مدعومة.

تحويل النص إلى PDF

Aspose.PDF for .NET تدعم ميزة تحويل النص العادي وملف النص المُنسق مسبقًا إلى تنسيق PDF.

تحويل النص إلى PDF يعني إضافة مقاطع نصية إلى صفحة PDF. بالنسبة لملفات النص، نتعامل مع نوعين من النص: التنسيق المسبق (على سبيل المثال، 25 سطرًا مع 80 حرفًا في السطر) والنص غير المنسق (نص عادي). اعتمادًا على احتياجاتنا، يمكننا التحكم في هذه الإضافة بأنفسنا أو تركها لخوارزميات المكتبة.

تحويل ملف نص عادي إلى PDF

في حالة ملف النص العادي، يمكننا استخدام التقنية التالية:

الخطوات: تحويل النص إلى PDF في C# | الخطوات: تحويل TXT إلى PDF في C# | الخطوات: تحويل النص العادي إلى PDF في C#

  1. استخدم TextReader لقراءة النص بالكامل.
  2. إنشاء كائن Document وإضافة صفحة جديدة في مجموعة Pages.
  3. إنشاء كائن جديد من TextFragment وتمرير كائن TextReader إلى مُنشئه.
  4. إضافة كائن TextFragment كفقرة في مجموعة Paragraphs. إذا كانت كمية النص أكبر من الصفحة، تضيف خوارزمية المكتبة صفحات إضافية تلقائيًا.
  5. استخدم طريقة Save من فئة Document .
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPlainTextFileToPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

    // Read the source text file
    using (var streamReader = new StreamReader(dataDir + "TextToPDFInput.txt"))
    {
        // // Create PDF document
        using (var document = new Aspose.Pdf.Document())
        {
            // Add page
            var page = document.Pages.Add();
            // Create an instance of TextFragment and pass the text from reader object to its constructor as argument
            var text = new Aspose.Pdf.Text.TextFragment(streamReader.ReadToEnd());
            // Add a new text paragraph in paragraphs collection and pass the TextFragment object
            page.Paragraphs.Add(text);
            // Save PDF document
            document.Save(dataDir + "TextToPDF_out.pdf");
        }
    }
}

تحويل ملف نص مُنسق مسبقًا إلى PDF

تحويل النص المُنسق مسبقًا يشبه النص العادي ولكن تحتاج إلى اتخاذ بعض الإجراءات الإضافية مثل تعيين الهوامش، ونوع الخط وحجمه. من الواضح أن الخط يجب أن يكون أحادي المسافة (على سبيل المثال Courier New).

اتبع هذه الخطوات لتحويل النص المُنسق مسبقًا إلى PDF باستخدام C#:

الخطوات: تحويل النص المسبق إلى PDF في C# | الخطوات: تحويل TXT المُنسق مسبقًا إلى PDF في C#

  1. قراءة النص بالكامل كمصفوفة من السلاسل.
  2. إنشاء كائن Document وإضافة صفحة جديدة في مجموعة Pages .
  3. تشغيل حلقة عبر مصفوفة السلاسل وإضافة كل سلسلة كفقرة في مجموعة Paragraphs .

في هذه الحالة، تضيف خوارزمية المكتبة أيضًا صفحات إضافية، ولكن يمكننا التحكم في هذه العملية بأنفسنا. يظهر المثال التالي كيفية تحويل ملف نص مُنسق مسبقًا إلى مستند PDF بحجم صفحة A4.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPreFormattedTextToPdf()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Read the text file as array of string
    var lines = File.ReadAllLines(dataDir + "ConvertPreFormattedTextToPdf.txt");

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();
        // Set left and right margins for better presentation
        page.PageInfo.Margin.Left = 20;
        page.PageInfo.Margin.Right = 10;
        page.PageInfo.DefaultTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Courier New");
        page.PageInfo.DefaultTextState.FontSize = 12;

        foreach (var line in lines)
        {
            // check if line contains "form feed" character
            // see https://en.wikipedia.org/wiki/Page_break
            if (line.StartsWith("\x0c"))
            {
                page = document.Pages.Add();
                page.PageInfo.Margin.Left = 20;
                page.PageInfo.Margin.Right = 10;
                page.PageInfo.DefaultTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Courier New");
                page.PageInfo.DefaultTextState.FontSize = 12;
            }
            else
            {
                // Create an instance of TextFragment and pass the line to its constructor as argument
                var text = new Aspose.Pdf.Text.TextFragment(line);
                // Add a new text paragraph in paragraphs collection and pass the TextFragment object
                page.Paragraphs.Add(text);
            }
        }
        // Save PDF document
        document.Save(dataDir + "PreFormattedTextToPDF_out.pdf");
    }
}

تحويل XPS إلى PDF

Aspose.PDF for .NET تدعم ميزة تحويل XPS إلى تنسيق PDF. تحقق من هذه المقالة لحل مهامك.

نوع ملف XPS مرتبط بشكل أساسي بمواصفة الورق XML من شركة Microsoft. مواصفة الورق XML (XPS)، التي كانت تُعرف سابقًا باسم Metro وتحتوي على مفهوم مسار الطباعة للجيل التالي (NGPP)، هي مبادرة Microsoft لدمج إنشاء المستندات وعرضها في نظام التشغيل Windows.

لتحويل XPS إلى PDF باستخدام Aspose.PDF for .NET، قدمنا فئة تُسمى XpsLoadOption التي تُستخدم لتهيئة كائن LoadOptions . لاحقًا، يتم تمرير هذا الكائن كوسيط أثناء تهيئة كائن Document ويساعد محرك عرض PDF في تحديد تنسيق الإدخال لمستند المصدر.

يظهر مقتطف الكود التالي عملية تحويل ملف XPS إلى تنسيق PDF باستخدام C#.

الخطوات: تحويل XPS إلى PDF في C#

  1. إنشاء مثيل من فئة XpsLoadOptions .
  2. إنشاء مثيل من فئة Document مع ذكر اسم ملف المصدر والخيارات.
  3. حفظ المستند بتنسيق PDF بالاسم المطلوب.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertXPSToPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Instantiate Options object
    var options = new Aspose.Pdf.XpsLoadOptions();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "XPSToPDF.xps", options))
    {
        // Save PDF document
        document.Save(dataDir + "ConvertXPSToPDF_out.pdf");
    }
}

تحويل PostScript إلى PDF

Aspose.PDF for .NET تدعم ميزات تحويل ملفات PostScript إلى تنسيق PDF. واحدة من الميزات من Aspose.PDF هي أنه يمكنك تعيين مجموعة من مجلدات الخطوط التي سيتم استخدامها أثناء التحويل.

لتحويل ملف PostScript إلى تنسيق PDF، تقدم Aspose.PDF for .NET فئة PsLoadOptions التي تُستخدم لتهيئة كائن LoadOptions. لاحقًا، يمكن تمرير هذا الكائن كوسيط إلى مُنشئ كائن Document، مما سيساعد محرك عرض PDF في تحديد تنسيق مستند المصدر.

يمكن استخدام مقتطف الكود التالي لتحويل ملف PostScript إلى تنسيق PDF باستخدام Aspose.PDF for .NET:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPostScriptToPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options
    var options = new PsLoadOptions();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "ConvertPostscriptInput.ps", options))
    {
        // Save PDF document
        document.Save(dataDir + "PSToPDF_out.pdf");
    }
}

بالإضافة إلى ذلك، يمكنك تعيين مجموعة من مجلدات الخطوط التي سيتم استخدامها أثناء التحويل:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPostscriptToPDFAdvanced()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options with custom font folders
    var options = new Aspose.Pdf.PsLoadOptions
    {
        FontsFolders = new[] { dataDir + @"\fonts1", dataDir + @"\fonts2" }
    };

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "ConvertPostscriptInput.ps", options))
    {
        // Save PDF document
        document.Save(dataDir + "ConvertPostscriptToPDFAdvanced_out.pdf");
    }
}

تحويل XML إلى PDF

يستخدم تنسيق XML لتخزين البيانات المهيكلة. هناك عدة طرق لتحويل XML إلى PDF في Aspose.PDF:

  1. تحويل أي بيانات XML إلى HTML باستخدام XSLT وتحويل HTML إلى PDF كما هو موضح أدناه.
  2. إنشاء مستند XML باستخدام مخطط XSD من Aspose.PDF.
  3. استخدام مستند XML بناءً على معيار XSL-FO.

تحويل XSL-FO إلى PDF

يمكن تنفيذ تحويل ملفات XSL-FO إلى PDF باستخدام التقنية التقليدية من Aspose.PDF - إنشاء كائن Document مع XslFoLoadOptions. ولكن في بعض الأحيان يمكنك مواجهة هيكل ملف غير صحيح. في هذه الحالة، يسمح محول XSL-FO بتعيين استراتيجية معالجة الأخطاء. يمكنك اختيار ThrowExceptionImmediately، TryIgnore أو InvokeCustomHandler.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void Convert_XSLFO_to_PDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options
    var options = new Aspose.Pdf.XslFoLoadOptions(dataDir + "XSLFOToPdfInput.xslt");
    // Set error handling strategy
    options.ParsingErrorsHandlingType = Aspose.Pdf.XslFoLoadOptions.ParsingErrorsHandlingTypes.ThrowExceptionImmediately;

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "XSLFOToPdfInput.xml", options))
    {
        // Save PDF document
        document.Save(dataDir + "XSLFOToPdf_out.pdf");
    }
}

تحويل LaTeX/TeX إلى PDF

تنسيق ملف LaTeX هو تنسيق ملف نصي مع ترميز في مشتق LaTeX من عائلة لغات TeX و LaTeX هو تنسيق مشتق من نظام TeX. LaTeX (ˈleɪtɛk/lay-tek أو lah-tek) هو نظام إعداد مستندات ولغة ترميز مستندات. يُستخدم على نطاق واسع في التواصل ونشر المستندات العلمية في العديد من المجالات، بما في ذلك الرياضيات والفيزياء وعلوم الكمبيوتر. كما أن له دورًا بارزًا في إعداد ونشر الكتب والمقالات التي تحتوي على مواد متعددة اللغات معقدة، مثل السنسكريتية والعربية، بما في ذلك الإصدارات النقدية. يستخدم LaTeX برنامج تنسيق TeX لتنسيق مخرجاته، وهو مكتوب بنفسه بلغة ماكرو TeX.

Aspose.PDF for .NET تدعم ميزة تحويل ملفات TeX إلى تنسيق PDF ومن أجل تحقيق هذا المتطلب، تحتوي مساحة أسماء Aspose.Pdf على فئة تُسمى LatexLoadOptions التي توفر القدرات لتحميل ملفات LaTex وعرض المخرجات بتنسيق PDF باستخدام فئة Document. يظهر مقتطف الكود التالي عملية تحويل ملف LaTex إلى تنسيق PDF باستخدام C#.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertTeXtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options
    var options = new Aspose.Pdf.TeXLoadOptions();
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "samplefile.tex", options))
    {
        // Save PDF document
        document.Save(dataDir + "TeXToPDF_out.pdf");
    }
}

تحويل OFD إلى PDF

يشير تنسيق OFD إلى “مستند ثابت مفتوح”، الذي تم تأسيسه كمعيار وطني للصين لتخزين الملفات الإلكترونية، ويستخدم كبديل للتنسيق الشائع PDF. يدعم مستندات بتنسيق ثابت، مما يضمن عرضًا متسقًا عبر منصات مختلفة. تُستخدم ملفات OFD لأغراض متنوعة، بما في ذلك المستندات الرقمية وتطبيقات الأعمال.

Aspose.PDF for .NET تدعم ميزة تحويل ملفات OFD إلى تنسيق PDF ومن أجل تحقيق هذا المتطلب، تحتوي مساحة أسماء Aspose.Pdf على فئة تُسمى OfdLoadOptions التي توفر القدرات لتحميل ملفات OFD وعرض المخرجات بتنسيق PDF باستخدام فئة Document.

يظهر مقتطف الكود التالي عملية تحويل ملف OFD إلى تنسيق PDF باستخدام C#.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertOFDToPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Convert options
    var options = new Aspose.Pdf.OfdLoadOptions();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "ConvertOFDToPDF.ofd", options))
    {
        // Save PDF document
        document.Save(dataDir + "ConvertOFDToPDF_out.pdf");
    }
}