首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android PDF生成

Android PDF生成
EN

Stack Overflow用户
提问于 2016-04-14 23:32:50
回答 1查看 513关注 0票数 1

我试着学习如何为我的Android应用程序生成PDF。

我遵循了官方文档,但代码不起作用。

编译器发现了一些编译错误,但我所做的只是从代码中复制/粘贴代码。

请看一下代码并告诉我原因(:

代码语言:javascript
复制
 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();
EN

回答 1

Stack Overflow用户

发布于 2016-04-17 07:08:44

  1. PageInfo.Builder不接受您使用的参数。尝试替换

PdfDocument.PageInfo pageInfo = new Rect(new Rect(0,0,100,100),1)PdfDocument.PageInfo.Builder();

使用

新PdfDocument.PageInfo.Builder(100,100,1).create();` = PdfDocument.PageInfo pageInfo

请检查未从正确的类调用PdfDocument.PageInfo.Builder

  • getContentView()的文档,请检查Activity类的here

  • getOutputStream()不存在。如果您要做的是将内容复制到文件中,您可能应该创建一个新文件,然后将输出复制到该文件中。

  • 需要将所有代码封装在一个方法中,然后从onCreate()方法中调用。

有关生成安卓版PDF的更多信息,请查看此链接。3

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36627691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档