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

标签 java pdf-generation itext xmlhelper

您好,我正在尝试向我的 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/

相关文章:

Java acm、GRect方法、继承add方法不显示

java - 重定向到同一个 jsp 时值丢失(没有 Ajax)

javascript - 使用 wkhtmltopdf 无法正确显示图表专家绘制的图表

java - 我可以仅使用输入在 iText 中生成上标吗?

java - 用于 Java 客户端验证的 GWT Validator 框架

java - 在 Java 中比较图像大小(以 KB 为单位)

pdf-generation - Flying Saucer : set custom DPI for output PDF

html - ASP.NET MVC : render view to generate PDF: use iTextSharp or better solution?

java - 升级Java版本和iText

c# - iTextsharp、PdfPCell.VerticalAlignment 和 PdfPCell.Horizo​​ntalAlignment