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

时间:2012-02-20 16:43:34

标签: java pdf-generation itext

我搜索过一堆网站,但我无法找到问题的解决方案。

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

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

我找到的最接近答案是:Resizing an image in asp.net without losing the image quality 但我不能(不知道)用Java解释这段代码。

我的代码复制/粘贴非常大,但这些步骤是:

  1. 创建文档
  2. 从指定路径加载图片
  3. 操纵图像(调整大小,旋转,定位)
  4. 将图片添加到当前页面
  5. 保存pdf文件
  6. 这也是我的尝试:

    提前致谢

    更新:我忘了提到我的原始图片没有边框。边界是由iText以某种方式创建的。我最初认为它是bug,但是因为iText 5.0.2这个问题仍然存在,所以现在我怀疑这是bug(我目前正在使用5.1.3)。

    更新2 我忘记添加此链接:http://itext-general.2136553.n4.nabble.com/template/NamlServlet.jtp?macro=print_post&node=2157261 这里提供的VB脚本可以工作,但是我无法转换为Java代码(它仍然会绘制黑色边框),所以有人可以帮我至少用这个转换好吗?

1 个答案:

答案 0 :(得分:0)

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

见这里:Class BufferedImage