كيفية طباعة ملف PDF في .NET Core
Contents
[
Hide
]
يعمل الكود التالي أيضًا مع مكتبة Aspose.PDF.Drawing.
طباعة مستند PDF في .NET Core
تسمح لنا مكتبة Aspose.PDF بتحويل ملفات PDF إلى XPS. يمكن أن تكون هذه الوظيفة مفيدة لتنظيم طباعة المستندات. دعونا نلقي نظرة على مثال لاستخدام الطابعة الافتراضية:
class Program
{
static void Main()
{
// إنشاء الخيط الثانوي وتمرير طريقة الطباعة لمعامل ThreadStart المفوض للمنشئ.
Thread printingThread = new Thread(() => PrintPDF(@"C:\tmp\doc-pdf.pdf"));
// ضبط الخيط الذي سيستخدم PrintQueue.AddJob لخيط واحد.
printingThread.SetApartmentState(ApartmentState.STA);
// بدء الخيط الطباعي. ستنفذ الطريقة الممررة إلى منشئ الخيط.
printingThread.Start();
}//end Main
private static void PrintPDF(string pdfFileName)
{
// إنشاء خادم الطباعة وطابور الطباعة.
PrintQueue defaultPrintQueue = LocalPrintServer.GetDefaultPrintQueue();
Aspose.Pdf.Document document = new Document(pdfFileName);
var xpsFileName = pdfFileName.Replace(".pdf", ".xps");
document.Save(xpsFileName,SaveFormat.Xps);
try
{
// طباعة ملف Xps مع توفير التحقق من XPS وإشعارات التقدم.
PrintSystemJobInfo xpsPrintJob = defaultPrintQueue.AddJob(xpsFileName, xpsFileName, false);
Console.WriteLine(xpsPrintJob.JobIdentifier);
}
catch (PrintJobException e)
{
Console.WriteLine("\n\t{0} لم يتم إضافته إلى قائمة الطباعة.", pdfFileName);
if (e.InnerException != null && e.InnerException.Message == "File contains corrupted data.")
{
Console.WriteLine("\tليس ملف XPS صالح. استخدم أداة التوافق isXPS لتصحيحه.");
}
Console.WriteLine("\tالاستمرار مع الملف XPS التالي.\n");
}
}
}//end Program class
في هذا المثال، نحول مستند PDF إلى XPS ونضيفه كمهمة إلى قائمة الطابعة المحلية.