gpt4 book ai didi

java - 在 Itext 中使用 XMLWorkerHelper 时未设置图像宽度和高度

转载 作者:搜寻专家 更新时间:2023-11-01 03:06:43 31 4
gpt4 key购买 nike

您好,我正在尝试向我的 pdf 添加图像。它正在添加,但问题是我无法设置用户定义的宽度和高度。我正在使用 XMLWorkerHelper 转换 HTML 代码并将其写入 PDF。

try {
String image="<img alt=\"Not Loading\" src=\"C:\\Users\\sathesh_S\\Desktop\\Itext\\football.jpg\" style=\"width: 50px; height: 75px\" />";
OutputStream file = new FileOutputStream(new File("C:\\Test.pdf"));
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, file);
document.open();
InputStream is = new ByteArrayInputStream(image.getBytes());
XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);
document.close();
file.close();
}
catch (Exception e)
{
e.printStackTrace();
}

这里我将宽度和高度设置为 50 和 75 像素。但是原始图像正在添加到 PDF 中。我该如何纠正这个问题。

最佳答案

XMLWorker 不支持图像的宽度和高度 css 属性[1]。

默认图像标签处理器(即 com.itextpdf.tool.xml.html.Image)使用标签的宽度/高度属性。所以有两种解决方案:

  1. 为图像编写您自己的图像标签处理器(可能还有 CssAplier)(有关详细信息,请参阅图书馆源代码),或者简单地:
  2. 使用img标签的高宽属性,例如:

    String image="<img src=\"football.jpg\" width=\"50px\" height=\"75px\"/>";

第二种解决方案要简单得多,在大多数情况下应该足够了。

[1] http://demo.itextsupport.com/xmlworker/itextdoc/CSS-conformance-list.htm

关于java - 在 Itext 中使用 XMLWorkerHelper 时未设置图像宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19905451/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com