PDFBox là thư viện cấp thấp để làm việc với tệp PDF. Bạn chịu trách nhiệm về các tính năng cấp cao hơn. Vì vậy, trong ví dụ này, bạn đang đặt hình ảnh của mình tại (60, 60)
bắt đầu từ góc dưới bên trái của tài liệu của bạn. Đó là những gì stream.drawImage(img, 60, 60);
làm.
Nếu bạn muốn di chuyển hình ảnh của mình ở nơi khác, bạn phải tính toán và cung cấp vị trí mong muốn (có thể từ kích thước thu được với page.findCropBox()
hoặc nhập vị trí của bạn theo cách thủ công).
Đối với văn bản, các phần tử tài liệu PDF được định vị hoàn toàn. Không có khả năng cấp thấp cho văn bản đang chảy lại, nổi hoặc tương tự. Nếu bạn viết văn bản ở phía trên hình ảnh của mình, nó sẽ là sẽ là được viết ở đầu hình ảnh của bạn.
Cuối cùng, để trang của bạn trở thành màu trắng - bạn đang tạo luồng nội dung mới và do đó ghi đè lên luồng nội dung gốc cho trang của bạn. Bạn phải là gắn thêm vào luồng đã có sẵn.
Dòng có liên quan là:
PDPageContentStream stream = new PDPageContentStream(pdDoc, pages.get(0));
gì bạn cần làm là gọi nó là như thế này:
PDPageContentStream stream = new PDPageContentStream(pdDoc, pages.get(0), true, true);
Các true
đầu tiên là liệu append nội dung, và trận chung kết true
(không quan trọng ở đây) là liệu để nén luồng.
Hãy xem AddImageToPDF mẫu có sẵn từ PDFBox sources.