این مقاله به نحوه درج تصویر در PDF با استفاده از جاوا کمک می کند. جزئیات مربوط به پیکربندی IDE، یک فرآیند گام به گام برای نوشتن برنامه، و یک کد نمونه قابل اجرا برای افزودن تصویر به PDF با استفاده از جاوا را ارائه می دهد. همچنین گزینه های مختلفی را برای سفارشی کردن فرآیند برای رندر کردن تصویر در هر فرمتی مانند PNG، JPEG و غیره یاد خواهید گرفت و تصویر را در موقعیت دلخواه در صفحه PDF قرار دهید.
مراحل قرار دادن تصویر در PDF با استفاده از جاوا
- محیطی را برای استفاده از Aspose.PDF for Java برای درج تصویر ایجاد کنید
- فایل PDF منبع را بارگیری کنید، به اولین page برای افزودن یک تصویر دسترسی پیدا کنید، و وضعیت گرافیک را ذخیره کنید.
- یک جریان از تصویر ایجاد کنید و آن را به منبع مجموعه تصاویر PDF بارگذاری شده اضافه کنید
- شیء Matrix را با استفاده از موقعیت مستطیلی مورد نظر برای تصویر، نمونه سازی کنید
- گزینه های طراحی تصویر را تعریف کرده و با استفاده از متد Do() تصویر را رسم کنید
- قبل از بستن تصویر و جریان های PDF، حالت گرافیک را بازیابی کنید و PDF خروجی را ذخیره کنید
این مراحل نحوه افزودن تصویر در PDF با استفاده از جاوا* را توضیح می دهد که ابتدا مرجع صفحه از فایل PDF بارگذاری شده بدست می آید و سپس جریان تصویر ایجاد می شود. این تصویر به مجموعه تصاویر صفحه انتخاب شده اضافه می شود و سپس ماتریس تبدیل با استفاده از مستطیل موقعیتی برای تصویر مورد نظر اعلام می شود. در پایان، تصویر با استفاده از متد Do() رندر می شود و فایل پی دی اف حاصل بر روی دیسک ذخیره می شود.
کد برای افزودن عکس در PDF با استفاده از جاوا
import com.aspose.pdf.*; | |
import com.aspose.pdf.operators.*; | |
public class AsposeTest { | |
public static void main(String[] args) throws Exception {//Main function to add image to a PDF using Java | |
// Instantiate the license | |
License lic = new License(); | |
lic.setLicense("Aspose.Total.lic"); | |
// Load the source PDF file | |
Document srcDocument = new Document("sample.pdf"); | |
// Get a reference to the target page | |
Page pdfPage = srcDocument.getPages().get_Item(1); | |
// Create stream for the image | |
java.io.FileInputStream streamForImage = new java.io.FileInputStream(new java.io.File("logo.png")); | |
// Add the stream of image to the collection of images in the selected page | |
pdfPage.getResources().getImages().add(streamForImage); | |
// Save the current state of the graphics for later use | |
pdfPage.getContents().add(new GSave()); | |
// Instantiate the Matrix object using the desired rectangular area | |
Rectangle rect = new Rectangle(50, 750, 100, 800); | |
Matrix matrix = new Matrix(new double[] { rect.getURX() - rect.getLLX(), 0, 0, | |
rect.getURY() - rect.getLLY(), rect.getLLX(), rect.getLLY() }); | |
// Define how image must be placed | |
pdfPage.getContents().add(new ConcatenateMatrix(matrix)); | |
XImage pdfXimage = pdfPage.getResources().getImages().get_Item(pdfPage.getResources().getImages().size()); | |
// Draw image using the Do operator | |
pdfPage.getContents().add(new Do(pdfXimage.getName())); | |
// Restore the graphics state | |
pdfPage.getContents().add(new GRestore()); | |
// Save the resultant PDF | |
srcDocument.save("updated_document.pdf"); | |
// Close image stream | |
streamForImage.close(); | |
// Close the PDF | |
srcDocument.close(); | |
System.out.println("Done"); | |
} | |
} |
این کد فرآیند افزودن تصویر به PDF با استفاده از جاوا را نشان می دهد. از کلاس Document برای بارگذاری PDF، شی کلاس Page برای نگه داشتن ارجاع به صفحه PDF هدف، شی FileInputStream برای نگه داشتن تصویر هدف، کلاس مستطیل برای توصیف موقعیت تصویر در صفحه، شی ماتریس برای تعریف استفاده می کند. ترسیم تصویر و متد Do() برای رندر کردن تصویر. توجه داشته باشید که وضعیت گرافیک قبل از شروع این عملیات ذخیره می شود و پس از اتمام عملیات بازیابی می شود.
در این مقاله شاهد فرآیند افزودن عکس به PDF با استفاده از جاوا بوده ایم. اگر میخواهید فرآیند افزودن واترمارک در PDF را یاد بگیرید به مقاله نحوه اضافه کردن واترمارک به PDF با استفاده از جاوا مراجعه کنید.