4

こんにちは、pdf に画像を追加しようとしています。追加されていますが、ユーザー定義の幅と高さを設定できないという問題があります。XMLWorkerHelperHTML コードを変換して 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 に追加されています。どうすればこれを修正できますか。

4

1 に答える 1

4

XMLWorker は、画像の幅と高さの CSS プロパティをサポートしていません[1]。

デフォルトのイメージ タグ プロセッサ (つまりcom.itextpdf.tool.xml.html.Image) は、タグの幅/高さの属性を使用します。したがって、2 つの解決策があります。

  1. 画像用に独自の画像タグ プロセッサ (およびおそらく CssAplier) を作成する (詳細については、ライブラリ ソース コードを参照してください)、または単純に:
  2. たとえば、img タグの高さと幅の属性を使用します。

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

2 番目の解決策ははるかに簡単で、ほとんどの場合はこれで十分です。

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

于 2013-11-15T12:48:01.833 に答える