PDF文档文件保存

时间:2017-10-20 06:01:46

标签: java android file pdf filewriter

抱歉,如果已经提出这个问题, 我在这个问题上搜索了很多,但没有得到解决方案。

我正在开发一个Android应用程序,它使用PDFDocument android的库来生成PDF文件。

有一些奇怪的问题,生成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();

手机文件浏览器图片

enter image description here

计算机文件浏览器图片

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您的文件已创建并且能够在移动设备中打开,则意味着您的代码工作已完成且工作正常。由于您可以从手机保存和打开文件,现在问题不在于代码,而在于将数据传输到mac(如您所述)。

在某些情况下,Android File Transfer未列出所提及的所有文件herehere

尝试以下步骤并再次检查

  • 转到“设置”
  • 选择“应用”
  • 显示所有应用(菜单“显示系统”)
  • 选择系统应用“媒体存储”
  • 选择“存储”
  • 清除缓存和清除存储
  • 重新启动手机并等待媒体存储再次索引所有文件