我试图学习如何为我的Android应用程序生成PDF 我按照官方文档,但代码不起作用 编译器发现了一些编译错误,但我所做的只是从代码中复制/粘贴代码 请看一下代码并告诉我原因(:
PrintAttributes printAttributes = new PrintAttributes.Builder().
setMediaSize(PrintAttributes.MediaSize.ISO_A4)
.setColorMode(PrintAttributes.COLOR_MODE_COLOR)
.setMinMargins(PrintAttributes.Margins.NO_MARGINS)
.build();
PrintedPdfDocument document = new PrintedPdfDocument(this, printAttributes);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
// crate a page description
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(new Rect(0, 0, 100, 100), 1).create();
// start a page
PdfDocument.Page page = document.startPage(pageInfo);
// draw something on the page
View content = getContentView();
content.draw(page.getCanvas());
// finish the page
document.finishPage(page);
// add more pages
// write the document content
document.writeTo(getOutputStream());
// close the document
document.close();
答案 0 :(得分:0)
PageInfo.Builder
不会使用您使用的参数。尝试替换
PdfDocument.PageInfo pageInfo =
new PdfDocument.PageInfo.Builder(new Rect(0, 0, 100, 100), 1).create();
带
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(100,100,1).create();`
getContentView()
未在合适的班级调用,请查看here
getOutputStream()
。如果你想要做的是将内容复制到文件中,你应该创建一个新文件,并将输出复制到该文件。
onCreate()
方法调用。有关为Android生成PDF的详细信息,请查看[此链接]。3