طباعة PDF باستخدام Java برمجيًا

غالبًا ما تكون طباعة مستندات PDF وظيفة رئيسية في مختلف الشركات والمؤسسات. يمكنك بسهولة طباعة ملف PDF برمجيًا باستخدام لغة Java. يمكنك العمل مع Aspose.PDF for Java API عن طريق تكوين في بيئتك. دعنا نتصفح سيناريوهات طباعة PDF المختلفة الممكنة في تطبيقات Java الخاصة بك:

طباعة ملف PDF باستخدام Java

يمكنك بسهولة طباعة ملف PDF باستخدام كود Java باتباع الخطوات التالية:

  1. قم بإنشاء كائن PdfViewer
  2. قم بتحميل ملف PDF للإدخال
  3. اطبع ملف PDF

يوضح مقتطف الشفرة أدناه كيفية طباعة ملفات PDF برمجيًا باستخدام Java:

//إنشاء كائن PdfViewer
PdfViewer viewer = new PdfViewer();
//افتح ملف PDF
viewer.bindPdf(dataDir + "Test.pdf");
//طباعة وثيقة PDF
viewer.printDocument();
//أغلق ملف PDF
viewer.close();

طباعة مستندات PDF متعددة باستخدام Java

تعد طباعة ملفات متعددة أو الطباعة المجمعة لملفات PDF عملية بسيطة باستخدام لغة Java. يمكنك طباعة عدد من ملفات PDF باتباع الخطوات التالية:

  1. تهيئة قائمة من نوع السلسلة
  2. أضف ملفات PDF متعددة للطباعة
  3. طباعة مستندات PDF

يوضح الكود التالي كيفية طباعة ملفات PDF متعددة باستخدام لغة Java:

// تهيئة قائمة من نوع السلسلة
List<String> files = new ArrayList<>();

// أضف عدة ملفات لتتم طباعتها
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");

// قم بمعالجة كل ملف للطباعة
for (String file : files)
{
    //إنشاء كائن PdfViewer
    PdfViewer viewer = new PdfViewer();
    //افتح ملف PDF
    viewer.bindPdf(file);
    //طباعة وثيقة PDF
    viewer.printDocument();
    //أغلق ملف PDF
    viewer.close();
}

طباعة صفحات معينة أو مجموعة من الصفحات باستخدام Java

تمنحك API الكثير من التحكم أثناء طباعة ملفات PDF. يمكنك العمل مع الحقول والأساليب المختلفة أثناء طباعة الملفات حسب متطلباتك. على سبيل المثال ، إذا كنت لا تريد طباعة جميع صفحات ملف PDF وعدد قليل من الصفحات فقط. قد يكون بعض نطاق الصفحات المستمر مثل من الصفحة رقم 3 حتى رقم الصفحة 7 ، أو قد تكون هذه صفحات عشوائية مثل رقم الصفحة 1،5 و 6. يمكنك تغطية كلا السيناريوهين بالخطوات التالية:

  1. تهيئة كائن PdfViewer
  2. قم بتعيين سمات للطباعة
  3. قم بإنشاء كائنات لإعدادات الطابعة والصفحة
  4. حدد ما إذا كنت تريد طباعة كل الصفحات أم صفحات معينة أم نطاق صفحات متصل
  5. طباعة مستند PDF باستخدام الطابعة وإعدادات الصفحة

يوضح الكود التالي كيفية طباعة صفحات معينة أو مجموعة من الصفحات في مستند PDF باستخدام Java:

// إنشاء كائن PdfViewer
PdfViewer viewer = new PdfViewer();
// افتح ملف PDF
viewer.bindPdf(dataDir + "test.pdf");
// قم بتعيين سمات للطباعة
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing

// قم بإنشاء كائنات لإعدادات الطابعة والصفحة و PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// قم بتعيين اسم الطابعة
ps.setPrinterName("Microsoft Print to PDF");

// ps.setPrintRange (2) ؛ // 0 = كل الصفحات ؛ 1 = اختيار ؛ 2 = بعض الصفحات
// ps.setFromPage (1) ؛
// ps.setToPage (2) ،


ps.setPrintRange(1); // 0 = all pages; 1 = selection; 2 = some pages
ps.setSelectedPages(new int[]{1, 3, 5});


// طباعة المستند باستخدام إعدادات الطابعة والصفحة
viewer.printDocumentWithSettings(pgs, ps);

اطبع ملف PDF الآمن باستخدام Java

في بعض الأحيان ، يتم تأمين ملفات PDF أو تشفيرها بكلمات مرور لضمان الوصول المصرح به إلى البيانات. يمكنك الوصول بسهولة إلى ملف PDF المحمي أو المشفر وطباعته باستخدام Java code وطباعة الملف وفقًا لمتطلباتك. تحتاج إلى اتباع الخطوات أدناه:

  1. قم بتحميل ملف إدخال PDF محمي بكلمة مرور بكلمة المرور
  2. تهيئة كائن PdfViewer
  3. اطبع مستند PDF

يعتمد الكود أدناه على هذه الخطوات التي تشرح كيفية طباعة ملفات PDF المؤمنة باستخدام كود Java:

//قم بتحميل مستند PDF آمن أثناء تحديد كلمة مرور المستخدم أو المالك
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//إنشاء كائن PdfViewer
PdfViewer viewer = new PdfViewer();
//افتح ملف PDF
viewer.bindPdf(document);
//طباعة وثيقة PDF
viewer.printDocument();
//أغلق ملف PDF
viewer.close();

تحقق من حالة مهمة الطباعة أثناء طباعة PDF باستخدام Java

يمكنك مراقبة حالة مهمة الطباعة بعد إرسال الملف إلى قائمة انتظار الطباعة الخاصة بالطابعة. يتيح ذلك لتطبيقك تحديد ما إذا كانت الطباعة ناجحة أم لا. تعرض فئة PdfViewer طريقة getPrintStatus التي تساعدك على التحقق من حالة مهمة الطباعة. على سبيل المثال ، أثناء طباعة ملف PDF إلى تنسيق XPS ، يمكنك الحصول على الحالة باتباع الخطوات التالية:

  1. قم بتحميل ملف PDF للإدخال
  2. قم بتعيين سمات للطباعة
  3. قم بإنشاء كائنات لإعدادات الطابعة والصفحة
  4. قم بتعيين اسم الطابعة
  5. طباعة الإخراج إلى ملف
  6. تحقق من حالة الطباعة

يوضح الكود التالي كيفية التحقق من حالة مهمة الطباعة أثناء طباعة PDF باستخدام Java code:

// إنشاء كائن PdfViewer
PdfViewer viewer = new PdfViewer();
// افتح ملف PDF
viewer.bindPdf(dataDir + "test.pdf");
// قم بتعيين سمات للطباعة
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing

// قم بإنشاء كائنات لإعدادات الطابعة والصفحة و PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();

// قم بتعيين اسم الطابعة
ps.setPrinterName("Microsoft Print to PDF");


// الاسم المطبوع الناتج
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");

// طباعة الإخراج إلى ملف
ps.setPrintToFile(true);

// اطبع المستند بالإعدادات المحددة أعلاه
viewer.printDocumentWithSettings(pgs, ps);

// تحقق من حالة الطباعة
if (viewer.getPrintStatus() != null)
{
    // تم طرح استثناء
    Exception ex = (Exception)viewer.getPrintStatus();
    if (ex != null)
    {
        // احصل على رسالة استثناء
    }
}
else
{
    // لم يتم العثور على أخطاء. اكتملت مهمة الطباعة بنجاح
    System.out.println("printing completed without any issue..");
}

استنتاج

لقد اكتشفنا سيناريوهات مختلفة تتعلق بطباعة ملفات PDF في تطبيقات Java الخاصة بك. يمكنك بسهولة دمج هذه الميزات في تطبيقات الويب أو تطبيقات وحدة التحكم أو أي نوع آخر من المشاريع التي تعمل بها باستخدام لغة Java. يمكنك استكشاف المزيد من API بالتعلم من مراجع API أو وثائق المنتج. هناك الكثير من السيناريوهات المحتملة المتعلقة بطباعة PDF ويمكنك مناقشتها معنا بحرية عبر منتدى الدعم المجاني. ونحن سوف نكون سعداء لتقديم المساعدة!

أنظر أيضا