我试图使用以下代码的一部分:https://github.com/androidsrc/PdfReadWrite/tree/master/app
更确切地说,这一部分:
public class PdfGenerationTask extends AsyncTask<Void, Void,String>{
protected String doInBackground(Void... params) {
PdfDocument document = new PdfDocument();
View author = findViewById(R.id.author);
int pageNumber = 1;
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo().Builder(20,20,pageNumber).create();
PdfDocument.Page page = document.startPage(pageInfo);
author.draw(page.getCanvas());
document.finishPage(page);
String pdfName = "pdfdemo";
File outputFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS));
try {outputFile.createNewFile();
OutputStream out = new FileOutputStream(outputFile);
document.writeTo(out);
document.close();
out.close();
}
catch (IOException e) {
e.printStackTrace();
}
return outputFile.getPath();
}当我在Android中运行这个程序时,我会得到几个错误介面,第一个是:Error:(44, 45) error: PageInfo() is not public in PageInfo; cannot be accessed from outside package。我已将PdfGEneration任务更改为公共任务,但这似乎无法解决问题。我该怎么做,为什么?
第二个错误是这个:Error:(49, 31) error: no suitable constructor found for File(File) constructor File.File(String) is not applicable (argument mismatch; File cannot be converted to String) constructor File.File(URI) is not applicable (argument mismatch; File cannot be converted to URI),这里的问题是什么?我能做些什么来解决这个问题?
发布于 2017-02-15 13:33:05
看起来PageInfo构造函数是私有的。而不是
新PdfDocument.PageInfo().Builder(20,20,pageNumber).create();
试一试
新PdfDocument.PageInfo.Builder(20,20,pageNumber).create();
https://stackoverflow.com/questions/42250429
复制相似问题