在Android上创建PDF有两种主要方法:使用PdfDocument和PdfPrintedDocument。这两种方法主要区别在于生成PDF文件的方式和支持的API级别。
下面是使用PdfDocument创建PDF文档的示例代码:
// 创建一个PdfDocument对象
PdfDocument document = new PdfDocument();
// 创建一个PageInfo对象,指定页面的大小和边距
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(300, 600, 1).create();
// 开始一个页面
PdfDocument.Page page = document.startPage(pageInfo);
// 在页面上绘制内容
Canvas canvas = page.getCanvas();
Paint paint = new Paint();
canvas.drawText("Hello World", 80, 50, paint);
// 结束页面
document.finishPage(page);
// 将PDF保存到文件
File file = new File(Environment.getExternalStorageDirectory(), "example.pdf");
try {
document.writeTo(new FileOutputStream(file));
} catch (IOException e) {
e.printStackTrace();
}
// 关闭文档
document.close();
下面是使用PdfPrintedDocument创建PDF文档的示例代码:
// 获取打印管理器
PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);
// 创建一个打印任务
PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter("example.pdf");
// 打印任务名称
String jobName = getString(R.string.app_name) + " Document";
// 开始打印
printManager.print(jobName, printAdapter, null);
上述示例中,我们将WebView的内容打印为PDF文件,你可以根据需求将其他内容打印为PDF。
总结: