تصف هذه المقالة طريقة تنفيذ لقطات شاشة لملفات PDF في Java. شاركه للرجوع إليه ، على النحو التالي:
في موقع ويب قمت بإنشائه مؤخرًا ، هناك شرط لتحميل ملف PDF ، وعرض صفحة تغطية PDF ، ثم انقر فوق صفحة الغلاف للقراءة عبر الإنترنت. هنا ، يتم استخدام pdfrender لأخذ لقطات شاشة من PDF.
البولين الثابتة العامة createScreenshoot (مصدر السلسلة ، سلسلة الهدف) {file file = new file (source) ؛ if (! file.exists ()) {system.err.println ("path [" + source + "] ملف pdf المقابل غير موجود!") ؛ العودة كاذبة } جرب {randomaccessfile raf = new RandomAccessFile (ملف ، "r") ؛ قناة filechannel = raf.getChannel () ؛ bytebuffer buf = channel.map (filechannel.mapmode.read_only ، 0 ، channel.size ()) ؛ pdffile pdffile = pdffile جديد (buf) ؛ int num = pdffile.getNumpages () ؛ لـ (int i = 1 ؛ i <num ؛ i ++) {pdfpage page = pdffile.getPage (1) ؛ // احصل على العرض والارتفاع للمستند في Zoom struge rectangle rectant = new strenge (0 ، 0 ، (int) page.getBbox () .getWidth () ، (int) page.getBbox (). getheight ()) ؛ // إنشاء صورة IMG = page.getImage (rect.width ، rect.height ، // width & rect ، // clip rect null ، // null for imageObserver true ، // املأ خلفية بالأبيض // block حتى يتم الرسم) ؛ علامة bufferedImage = جديد bufferedImage (rect.width ، rect.hight ، bufferedImage.type_int_rgb) ؛ tag.getGraphics (). drawImage (img ، 0 ، 0 ، rect.width ، rect.Height ، null) ؛ FileOutputStream Out = new FileOutputStream (Target+I+"JPG") ؛ jpegimageencoder encoder = jpegcodec.createjpegencoder (out) ؛ Encoder.encode (tag) ؛ // JPEG الترميز Out.Close () ؛ } إعادة صواب ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ العودة صحيح. }بالإضافة إلى ذلك ، إذا كنت بحاجة إلى عرض PDF عبر الإنترنت ، فأنت بحاجة إلى تعيين رأس الاستجابة
استجابة.
المرفق: pdfrender.jar انقر هنا لتنزيل هذا الموقع .
لمزيد من المحتوى المتعلق بـ Java ، يمكن للقراء المهتمين بهذا الموقع عرض الموضوعات: "ملخص مهارات تشغيل صور Java" ، "ملخص لمهارات تشغيل Java ووقت التشغيل" ، "ملخص لمهارات عقدة Java DOM" ، "ملخص ملف Java ومهارات تشغيل الدليل" و "برامج بيانات Java" و Algorithm.
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.