我正在尝试替换pdf格式的图像,但并不是所有的图像都能完成 您的问题是关于iText还是关于pdfbox?请提供您的PDF文件。请解释“并非所有问题都得到解决”的确切含义。有些图像没有改变吗?还是输了?还是污损?您的代码在PDF中未显示任何修改。您的图形设

我正在尝试替换pdf格式的图像,但并不是所有的图像都能完成 您的问题是关于iText还是关于pdfbox?请提供您的PDF文件。请解释“并非所有问题都得到解决”的确切含义。有些图像没有改变吗?还是输了?还是污损?您的代码在PDF中未显示任何修改。您的图形设,pdf,itext,pdfbox,Pdf,Itext,Pdfbox,我正在尝试替换pdf格式的图像,但并不是所有的图像都能完成 您的问题是关于iText还是关于pdfbox?请提供您的PDF文件。请解释“并非所有问题都得到解决”的确切含义。有些图像没有改变吗?还是输了?还是污损?您的代码在PDF中未显示任何修改。您的图形设备未被释放。创建一个从未使用过的BuffereImage(x),然后覆盖它。保存图像只是为了在之后立即重新加载它。(Image.getInstance也接受awt映像)。所有这些都与你的问题无关,但看起来你让你自己的生活变得更加困难。 publ

我正在尝试替换pdf格式的图像,但并不是所有的图像都能完成
您的问题是关于iText还是关于pdfbox?请提供您的PDF文件。请解释“并非所有问题都得到解决”的确切含义。有些图像没有改变吗?还是输了?还是污损?您的代码在PDF中未显示任何修改。您的图形设备未被释放。创建一个从未使用过的BuffereImage(x),然后覆盖它。保存图像只是为了在之后立即重新加载它。(Image.getInstance也接受awt映像)。所有这些都与你的问题无关,但看起来你让你自己的生活变得更加困难。
public static Image makeBlackAndWhitePng(PdfImageObject image) throws IOException, DocumentException {
    File f = new File("C:\\Users\\anahata\\Desktop\\text analysis\\14-1.png");
    BufferedImage bi = image.getBufferedImage();
    BufferedImage x = new BufferedImage(bi.getWidth(), bi.getHeight(), BufferedImage.TYPE_INT_ARGB);
    x = ImageIO.read(f);
    BufferedImage newBi = new BufferedImage(bi.getWidth(), bi.getHeight(), BufferedImage.TYPE_USHORT_GRAY);
    newBi.getGraphics().drawImage(bi, 0, 0, null);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write(x, "png", baos);
    return Image.getInstance(baos.toByteArray());
}