如何将HTML
字符串(即时创建)转换为PDF
仅使用本机PrintedPdfDocument
(API
19 或更高版本)?我寻找不需要添加任何外部库的解决方案。
问问题
974 次
2 回答
0
这个答案可能会有所帮助。随意进行任何更改以适应。
创建pdf文件。
PrintAttributes.Builder builder = new PrintAttributes.Builder();
builder.setColorMode(PrintAttributes.COLOR_MODE_COLOR);
builder.setMediaSize(PrintAttributes.MediaSize.ISO_A1); // or ISO_A0
builder.setMinMargins(PrintAttributes.Margins.NO_MARGINS);
builder.setResolution(new PrintAttributes.Resolution("1", "label", 300, 300));
PrintedPdfDocument document = new PrintedPdfDocument(this, builder.build());
PdfDocument.Page page = document.startPage(1);
View content = content;
content.draw(page.getCanvas());
document.finishPage(page);
File file = new File(getExternalFilesDir(null).getAbsolutePath(), "doc.pdf");
document.writeTo(new FileOutputStream(file));
document.close();
获取pdf文件:
File file_ = new File(filePATH)
于 2021-10-13T21:12:39.407 回答
0
如果 HTML 非常有限,您可以尝试TextView
一些 HTML 到Spanned
转换器(例如,Html.fromHtml()
)。
或者,正如我在评论中指出的那样,您可以使用WebView
,尽管您指出它不符合您的业务要求,而且我不确定您是否可以访问 PDF。
否则,您唯一的无库选项是将 HTML 发送到服务器,该服务器可以向您返回 PDF。
于 2015-12-11T17:00:35.490 回答