تصميم وثائق PDF في Java
Aspose.PDF FOSS for Java provides a rich set of APIs for manipulating existing PDF المستندات تقسيم، وترتيب الصفحات، واستخراج صفحات، وإدراج نطاقات صفحة. تغيير حجم المحتوى داخل الصفحات. هذه القدرات مركزة في PdfFileEditor " ورفيقها " أي الملائكة . ContentsResizeParameters و ContentsResizeValue.
PdfFileEditor: عمليات الصفحة الأساسية
المجلس الوزاري PdfFileEditor class هي المرفق المركزي لعمليات ملف PDF عالية المستوى. يقدم طرق لتشابك ملفات PDF متعددة، واستخراج مجموعات فرعية من الصفحات., تقسيم المستند إلى صفحات فردية وإدراج الصفحات من وثيقة واحدة إلى مكان آخر في موقع محدد.
PdfFileEditor editor = new PdfFileEditor();
// Concatenate two documents into one
editor.concatenate("first.pdf", "second.pdf", "combined.pdf");
// Extract pages 2 through 5 to a new file
editor.extract("source.pdf", 2, 5, "extracted.pdf");
وتشمل الطرق الرئيسية:
concatenate(inputFiles, outputFile)يجمع وثائق متعددة في ترتيب واحدextract(inputFile, startPage, endPage, outputFile)تصدر مجموعة متواصلة من المنتجاتextract(inputFile, pageNumbers, outputFile)تصدر مجموعة غير متجاورةsplitToPages(inputFile)يتقسّم إلى واحدByteArrayOutputStreamلكل صفحةinsert(inputFile, insertPosition, portFile, startPage, endPage, outputFile)يضيف نطاقاًdelete(inputFile, pageNumbers, outputFile)يزيل صفحات محددةappend(inputFile, portFile, startPage, endPage, outputFile)يضيف مجموعة صفحات
للملفات الكبيرة،, setUseDiskBuffer(true) يغير التخزين الداخلي من كومة إلى قرص.
إعادة قياس المحتوى مع محتوىإعادة القياسالمعايير
PdfFileEditor.resizeContents() يعدل المحتوى ضمن حدود الصفحة الحالية. كل هامش يسار، يمين، أعلى، أسفل و عرض المحتوى والارتفاع هي محدد على النحو التالي: ContentsResizeValue الحالات، التي تم بناؤها بواسطة طرق المصنع. ContentsResizeValue.percents(value) أو ContentsResizeValue.units(value).
try (Document doc = new Document("input.pdf")) {
PdfFileEditor editor = new PdfFileEditor();
ContentsResizeParameters params = new ContentsResizeParameters(
ContentsResizeValue.percents(10), // left margin
ContentsResizeValue.percents(80), // content width
ContentsResizeValue.percents(10), // right margin
ContentsResizeValue.percents(10), // top margin
ContentsResizeValue.percents(80), // content height
ContentsResizeValue.percents(10) // bottom margin
);
editor.resizeContents(doc, params);
doc.save("resized.pdf");
}
بناء ستة حجج ل ContentsResizeParameters تقبل القيم في ترتيب: اليسارالمجاري، المحتوىالوسع، اليمينالموجري، الموجر الأعلى، والمحتويارتفاع، والأسفلالمجهر. يجب أن يبلغ مجموع الستة إلى 100% عند استخدام القيم المستندة في النسبة المئوية، أو يتطابق مع الصفحة. الأبعاد عند استخدام القيم النقطية المطلقة.
إعادة قياس صفحات محددة
عندما تحتاج مجموعة فرعية من الصفحات فقط إلى إعادة الحجم، فإن التحميل الزائد الذي يقبل صفحة عدد كامل يستهدف تلك الصفات بينما يترك الباقي دون تغيير:
PdfFileEditor editor = new PdfFileEditor();
ContentsResizeParameters params = new ContentsResizeParameters(
ContentsResizeValue.units(28), // left margin in points
ContentsResizeValue.units(540), // content width
ContentsResizeValue.units(28), // right margin
ContentsResizeValue.units(28), // top margin
ContentsResizeValue.units(786), // content height
ContentsResizeValue.units(28) // bottom margin
);
// Only resize pages 1 and 3
editor.resizeContents(doc, new int[]{1, 3}, params);
ContentsResizeValue.getValue() و isPercent() السماح بفحص المخزنة. ويحدد ما إذا كان يمثل نسبة مئوية أو عدد نقطة مطلقة.
كتيب ووضع N-Up
PdfFileEditor يشمل: makeBooklet() لفرض الصفحات في ترتيب الكتيب ذو الجانبين و makeNUp() لتحديد صفحات متعددة لكل ورقة. كلا الطريقتين تقبل مسارات الملفات أو التيارات:
PdfFileEditor editor = new PdfFileEditor();
// Print as a folded booklet
editor.makeBooklet("input.pdf", "booklet.pdf");
// Tile 2 columns × 3 rows per sheet
editor.makeNUp("input.pdf", "nup.pdf", 2, 3);
PdfPageEditor: التحكم في التكبير لكل صفحة
PdfPageEditor يستهدف خصائص الصفحة الفردية مثل مستوى التكبير. setZoom() يقبل مضاعف العوالق الذي يتحكم في التكبير الأولي عندما يكون المستند يتم فتحها في عرض:
PdfPageEditor pageEditor = new PdfPageEditor();
pageEditor.bindPdf("input.pdf");
pageEditor.setZoom(1.5f);
pageEditor.save("zoomed.pdf");
قيمة 0.0 أو سلبية يتم رفضها getZoom() العوائد 1.0 في تلك الحالات. هذا يجعلنا PdfPageEditor مناسبة لإعداد المستندات التي يجب أن تفتح في وقت محدد. تكبير للوصول أو حالات استخدام عرض المكشوفات.
بدءاً من
أضف تعتمد مافين واستيراد حزمة الواجهات:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>0.1.0-alpha</version>
</dependency>
import org.aspose.pdf.*;
import org.aspose.pdf.facades.*;
Aspose.PDF FOSS for Java is MIT-licensed and available at https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.