android - Android将listview数据转换为pdf文件并保存
问题描述
我有一个自定义列表视图,我想从整个列表视图中制作 pdf。我参考了很多帖子但没有找到谁将整个列表项转换为 pdf。我正在尝试这个及其显示错误:
pdf.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public void onClick(View view) {
String state = Environment.getExternalStorageState();
if (!Environment.MEDIA_MOUNTED.equals(state)) {
}
File pdfDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOCUMENTS), "MyProject");
if (!pdfDir.exists()){
pdfDir.mkdir();
}
File pdfFile = new File(pdfDir, "myPdfFile_new.pdf");
try {
createPdf();
}
catch (Exception e){
e.printStackTrace();
}
}
});
}
这是我的 createpdf()
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
private void createPdf() throws IOException {
PdfDocument document = new PdfDocument();
PdfDocument.Page page = null;
// crate a page description
for (int i = 0; i < bitmaps.size(); i++) {
Bitmap bitmap = bitmaps.get(i);
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(1400, 1979, i).create();
// start a page
page = document.startPage(pageInfo);
if (page == null) {
return;
}
Canvas canvas = page.getCanvas();
canvas.drawBitmap(bitmap, 0, 0, null);
document.finishPage(page);
}
// finish the page
// write the document content
fileHandler = new FileHandler();
File pdf = fileHandler.getNewFileToWrite(AppConstants.FileExtensions.PDF); //crete and get file
try {
document.writeTo(new FileOutputStream(pdf));
} catch (IOException e) {
}
// close the document
document.close();
}
我的列表视图中包含大量项目,那么如何将整个列表视图转换为 pdf。感谢您的所有建议
解决方案
我会说遍历要写入文件的数据,然后在创建 PDF 文件时将相同的数据复制到 PDF 文件。
推荐阅读
- flutter - 每次导航到颤动的页面时,如何在谷歌地图上绘制折线
- swift - Xcode - 未找到 XCFramework
- mongodb - 如何让 svelte-kit、electron 和 mongodb 在生产模式下工作。?
- python - 错误:self.slide.placeholders[2].insert_picture(data[2]) AttributeError: 'SlidePlaceholder' 对象没有属性 'insert_picture'
- javascript - 如何仅修复第一个警报框显示
- python - 类似于 python 的网格搜索/超参数调整
- javascript - innerHTML 赋值阻止了先验逻辑正确执行
- html - 警告部分缺少标题。考虑使用 h2-h6 元素为所有部分添加标识标题。代码挑战 1-3 老高手
- javascript - ObjectUnsubscribedError - Angular 11 RXJS 和 @ngneat/until-destroy
- reactjs - React/Redux:我如何访问某个属性并更新它?