如何获取创建的pdf报告的路径并分享?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取创建的pdf报告的路径并分享?相关的知识,希望对你有一定的参考价值。

我使用这个document来创建一个Pdf文件。通过按下按钮创建pdf文件,Pdf-Viewer会自动打开创建的pdf。我想知道该临时文件在设备中的保存位置,以获取其路径并使用ACTION_SEND Intent与社交人员共享。

如何从下面的代码中获取创建的pdf文件?

@Override
public void onLayout(PrintAttributes oldAttributes,
          PrintAttributes newAttributes,
          CancellationSignal cancellationSignal,
          LayoutResultCallback callback,
          Bundle metadata) {

myPdfDocument = new PrintedPdfDocument(context, newAttributes);

pageHeight = 
            newAttributes.getMediaSize().getHeightMils()/1000 * 72;
pageWidth = 
            newAttributes.getMediaSize().getWidthMils()/1000 * 72;

if (cancellationSignal.isCanceled() ) {
    callback.onLayoutCancelled();
    return;
}

if (totalpages > 0) {
   PrintDocumentInfo.Builder builder = new PrintDocumentInfo
      .Builder("print_output.pdf") // where is the path for this file
      .setContentType(PrintDocumentInfo.CONTENT_TYPE_DOCUMENT)
      .setPageCount(totalpages);

   PrintDocumentInfo info = builder.build();
   callback.onLayoutFinished(info, true);
} else {
   callback.onLayoutFailed("Page count is zero.");
}
}
答案

我不知道这个库,但我使用iText Library在android应用程序中创建pdf。该库提供pdf创建的所有方法或在pdf文件中添加不同的东西。 this is link for iText library for android

在这个库中我们需要输入输出文件路径。很容易我们得到创建的pdf文件路径的路径。

另一答案

pdf保存在系统的PrintSpooler(app)存储中,因此无法从外部访问(您可以在打印期间查看设备日志中的路径)。它还使用getDocument方法复制到基础打印服务的存储(如果用户最终使用已安装的打印服务)。

以上是关于如何获取创建的pdf报告的路径并分享?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android Pie 中获取 pdf 文件的实际文件路径? [复制]

分享|2022工业互联网厂商全景报告(附PDF)

生成 PDF 报告的 VBA 代码

2022年中小企业数字化转型路径报告(附下载链接)

报告分享2021中国数据中台研究报告.pdf(附下载链接)

如何以编程方式填写和获取 Excel 电子表格的 PDF 输出?