如何删除iText创建的PDF中透明图像周围的黑色边框



我搜索了很多网站,但都找不到解决问题的方法。

这就是问题所在:我正在使用iText库用Java制作PDF。除了一件事,一切都很好。透明PNG图像在不透明区域周围有黑色/灰色边框。我没有在代码中设置任何边界,实际上我已经尝试过删除它们(但没有成功)。

有人能帮我解决这个问题吗?

我找到的最接近的答案是:在不损失图像质量的情况下调整asp.net中的图像大小但是我不能(不知道)用Java解释这段代码。

我的代码很难复制/粘贴,但以下是步骤:

  1. 创建文档
  2. 从给定路径加载图像
  3. 操作图像(调整大小、旋转、定位)
  4. 将图像添加到当前页面
  5. 保存pdf文件

这也是我尝试过的:

  • http://itext-general.2136553.n4.nabble.com/template/NamlServlet.jtp?macro=print_post&节点=2157267
  • http://itext-general.2136553.n4.nabble.com/template/NamlServlet.jtp?macro=print_post&节点=2330200
  • 我试过的不止这两个,但我没有给它们加书签(都不起作用)

提前感谢

更新:我忘了提到我的原始图片没有边框。边框是由iText以某种方式创建的。我最初认为这是错误,但自从iText 5.0.2以来,这个问题一直存在,所以现在我怀疑这是错误(我目前使用的是5.1.3)

更新2我忘记添加此链接:http://itext-general.2136553.n4.nabble.com/template/NamlServlet.jtp?macro=print_post&节点=2157261这里介绍了一个可以工作的VB脚本,但我不能转换成Java代码(它仍然画黑边框),所以有人能帮我至少转换好吗?

您可以使用java BufferedImage方法getSubImage(x, y, w, h),它允许您从现有图像中裁剪子图像。这样你就可以把边缘切掉。

请参阅此处:Class BufferedImage

最新更新