【发布时间】:2018-04-01 06:35:24
【问题描述】:
对不起,如果这个问题已经被问过了, 我在这个问题上搜索了很多,但没有得到解决方案。
我正在开发一个使用PDFDocument android 库生成PDF 文件的android 应用程序。
有一个奇怪的问题,生成PDF文件后,它在手机的文件资源管理器中可见,但在计算机的文件资源管理器中不可见(例如Mac的Android文件传输,Windows的我的电脑和Ubuntu的文件资源管理器),我想我在代码中遗漏了一些东西。请帮忙。
这是我的代码
PdfDocument document = new PdfDocument();
PdfDocument.PageInfo pageinfo = new PdfDocument.PageInfo.Builder(PAGEWIDTH,PAGEHEIGHT,1).create();
PdfDocument.Page page = document.startPage(pageinfo);
Canvas canvas = page.getCanvas();
Paint paint = new Paint();
paint.setTextSize(getResources().getDimension(R.dimen.textsize));
paint.setTextAlign(Paint.Align.CENTER);
paint.setColor(ContextCompat.getColor(getApplicationContext(),R.color.colorName));
canvas.drawText(getResources().getString(R.string.app_name),PAGEWIDTH/2,50,paint);
document.finishPage(page);
String targetPdf = "/sdcard/documents/myfile.pdf";
File filepath = new File(targetPdf);
try {
filepath.createNewFile();
document.writeTo(new FileOutputStream(filepath));
Toast.makeText(getApplicationContext(),
getResources().getString(R.string.success),
Toast.LENGTH_SHORT).show();
}
catch (IOException e){
e.printStackTrace();
Toast.makeText(getApplicationContext(),
getResources().getString(R.string.error) + e.toString(),
Toast.LENGTH_LONG).show();
}
document.close();
手机文件资源管理器图片
计算机文件资源管理器图像
【问题讨论】:
-
电脑文件浏览器是什么意思?模拟器通过 Android 设备监视器?
-
我的意思是 Mac 上的 Android 文件传输和 Ubuntu 上的文件资源管理器(当我将手机连接到计算机时,该文件在计算机上不可见)
-
不,不会这样,可能是您在将数据传输到 Mac 时遇到问题。如果您的文件已创建并且能够在手机中打开,这意味着您的代码工作已完成并且工作正常。请尝试正确复制/传输文件
-
如您在上图中所见,名为“myfile.pdf”的文件在手机的文件夹下可见,但是当我在 Mac 上打开“Android 文件传输”时,除了每隔一个文件文件可见。
-
我认为它没有正确保存文件
标签: java android file pdf filewriter