سؤال

أحاول صامتة ملفات PDF المطبوعة من داخل تطبيق Java (أكثر تحديدا Webapp j2ee).

ضمن هذا التطبيق، أقوم بإنشاء ملفات PDF مع itext. الملفات التي تم إنشاؤها هي رسائل النموذج، كل منها تتكون من صفحة واحدة بالضبط.

تقديم وطباعة ملفات PDF هذه حاولت استخدام مكتبة PDF-rederer. (انظر هنا: https:/pdf-renderer.dev.java.net/ )

لقد وجدت بعض رمز المثال المفيد في http://juixe.com/techknow/index.php/2008/01/17/print-a-pdf-document-in-java/ في الواقع، لم يكن طويلا حتى تمكنت من طباعة المستند الأول من جهاز العمل الخاص بي.

ولكن الآن يأتي الجزء المضحك:

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

علاوة على ذلك، كان ما تمت طباعته أيضا إصدار "اخترق" ... لذلك أعتقد أن الخطأ يجب أن يكون في مكان ما في عملية التقديم.

هذا هو التعليمات البرمجية المصدرية المسؤولة عن عملية العرض والطباعة بأكملها:

File f = this.file; //This accesses the created PDF file

FileInputStream fis = new FileInputStream(f);

FileChannel fc = fis.getChannel();

ByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());

PDFFile pdfFile = new PDFFile(bb); // Create PDF Print Page

PDFPrintPage pages = new PDFPrintPage(pdfFile);



// Create Print Job

PageFormat pf = PrinterJob.getPrinterJob().defaultPage();

pjob.setJobName(f.getName());

Book book = new Book();

book.append(pages, pf, pdfFile.getNumPages());

pjob.setPageable(book);

حقيقة ممتعة أخرى: يحدث شد PDF الوحيد في مستندات iText PDF التي تم إنشاؤها. إذا حاولت طباعة بعض PDF عشوائي آخر، فلا تحصل على مشارغ.

أي أفكار حول ما يمكن أن تكون المشكلة؟ وكيف يمكن أن تؤثر التقديم على PDF الخاص بي على الإطلاق؟ كما أفهم رمز الغضب هذا، يجب أن يمنع الوضع Read_Only ذلك تماما ...

تحرير: رأيت للتو أن طباعة ITEX READ PDF يزيل أيضا الخطوط المضمنة. مرة أخرى، قبل تقديم / الطباعة عبر PDF-rederer هذا عملت بشكل جيد تماما. (تظهر الخطوط أيضا في خصائص PDF، وما إلى ذلك ...)

هل كانت مفيدة؟

المحلول

اسم itext هو إنشاء ملفات PDF غير متوافقة مع العارض الخاص بك؟ هل قمت بالتحقق من إصدار PDF الذي ينشئه؟ ربما من الممكن تحديد نسخة قديمة؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top