使用PdfDocument将HTML格式化为PDF

时间:2017-04-10 22:17:32

标签: android

我正在尝试使用PdfDocument从HTML字符串生成PDF:

https://developer.android.com/reference/android/graphics/pdf/PdfDocument.html

字符串示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
            <title>Example</title>
        </head>
        <body>
            <h1>Hello</h1>
        </body>
    </html>

我知道如何从WebView生成PDF文件,但不知道如何从字符串HTML生成PDF文件。我怎么做的? 我在stackoverflow.com或Google中找不到如何使用本机类PDFDOCUMENT

3 个答案:

答案 0 :(得分:1)

class可以满足您的需求。

但要编译,它必须在包中&#34; ... / java / android / print /&#34;

这是一个简单的代码示例:

PdfConverter converter = PdfConverter.getInstance();
File file = new File(Environment.getExternalStorageDirectory().toString(), "file.pdf");
String htmlString = "<html><body><p>WHITE (default)</p></body></html>";
converter.convert(getContext(), htmlString, file);
// By now the pdf has been printed in the file.

答案 1 :(得分:0)

您必须使用itext

等外部库

答案 2 :(得分:0)

react-native-html-to-pdf效果很好,并且具有 iText依赖关系。

https://github.com/christopherdro/react-native-html-to-pdf

  • 呈现SVG <svg>(非常容易在HTML文档中重用svg代码from Google Material Icons
  • 使用base64或本地文件呈现<img />(确保关闭img标记)
  • CSS 风格效果很好。
  • 您可以从HTML控制分页符。

    <p style="page-break-before: always;" />

我将它分叉并向Android添加了页面大小和方向选项。我计划对iOS做同样的事情,但它目前有宽度和高度选项,可以完成同样的事情。

这是一个跨平台的Android和iOS React Native库。

如果您只需要Java,请查看Android目录。