【发布时间】:2018-11-09 19:07:20
【问题描述】:
如何使用 Java 在 IText7(7.0.8) 中将图像置于(文本/图像)的前面或将图像发送至(文本/图像)的后面?
import java.io.FileNotFoundException;
import java.io.IOException;
import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfResources;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
public class AddImageUnderlayToPDF {
public static void main(String[] args) throws FileNotFoundException, IOException {
PdfDocument pdfDoc = new PdfDocument(new PdfReader("c:\\Development\\test.pdf"),
new PdfWriter("c:\\Development\\test_result.pdf"));
ImageData img = ImageDataFactory.create("c:\\Development\\kishore signature.png");
PdfCanvas under = new PdfCanvas(pdfDoc.getFirstPage().newContentStreamBefore(), new PdfResources(), pdfDoc);
under.addImage(img, 100, 0f, 0f, 100, 100, 300, false);
under.saveState();
pdfDoc.close();
}
}
..但它不起作用,它不会在 pdf 中显示图像。我在打开 pdf 时也注意到了一个错误:
类似的方法适用于文本但不适用于图像。任何帮助表示赞赏。
【问题讨论】:
-
“但它不起作用。” - 以何种方式不起作用?图像根本不显示吗?或者它是否显示但没有在所有内容?还是以其他方式失败?
-
图片不显示。我在 Acrobat 中打开时也看到错误。我用更详细的信息更新了我的帖子。