需求:向已有的PDF文件中的指定位置写入一张图片。
问题:图片写入成功,但是图片所在的页的文字全部消失了,只剩下写入后的图片。
已知:写入图片的位置有足够大的空白处。
期望:写入图片不会影响到原有的内容。
public class Test {
public static void main(String[] args) throws Exception {
File file = new File("D:\\1\\test.pdf");
PDDocument doc = PDDocument.load(file);
PDPage myPage = doc.getPage(0);
String imgFileName = "D:\\1\\test.jpg";
PDImageXObject pdImage = PDImageXObject.createFromFile(imgFileName, doc);
int iw = pdImage.getWidth();
int ih = pdImage.getHeight();
float offset = 20f;
try (PDPageContentStream cont = new PDPageContentStream(doc, myPage)) {
cont.drawImage(pdImage, offset, offset, iw, ih);
}
doc.save("D:\\1\\test2.pdf");
}
}
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
找到了解决办法,使用追加而不是默认的覆盖方式。
PDPageContentStream cont = new PDPageContentStream(doc, myPage,PDPageContentStream.AppendMode.APPEND,false,false);