4

私はiTextPdf(Android用iTextG)ライブラリを使用して、Androidアプリケーション用にHtmlをPDFドキュメントに変換しています。レシートのロゴ以外はすべて問題なく動作しています。私のhtmlには<img>、画像のソースhttp URLを含むタグが含まれています

<img src="http...."></img>

作成されたpdfに画像がありません。私の Java アプリで実行されている同じコードと html は、作成された PDF でロゴを表示しています (これは、画像へのアクセスに問題がないことを示しています)。この機能は Java とのみ互換性があり、Android とは互換性がないのでしょうか? 私は次の依存関係を使用しています:

compile 'com.itextpdf:itextg:5.5.10'
compile 'com.itextpdf.tool:xmlworker:5.5.10'

HTML コード:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="English">
<head>
    <title>Title</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</head>

<body>
<img src="https://image.flaticon.com/teams/slug/google.jpg"></img>
<h1>Fischerstube</h1>
</body>
</html>

メイン アクティビティの機能:

 private void htmlToPdf(String html) throws DocumentException, IOException {

    try {

        File file = new File(Environment.getExternalStorageDirectory() + File.separator + "logo.pdf");
        OutputStream fileOutputStream = new FileOutputStream(file);
        Document document = new Document();
        document.setPageSize(new Rectangle(201,720));
        PdfWriter writer = PdfWriter.getInstance(document, fileOutputStream);
        document.open();
        InputStream is = new ByteArrayInputStream(html.getBytes());
        XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);
        document.close();
        fileOutputStream.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

その唯一のレンダリング<h1>タグと Fischerstube は表示されますが、ANDROIRD DEVICE には画像が表示されません。この点で誰かが私を助けることができますか、感謝します。

4

1 に答える 1