如何获取创建的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报告的路径并分享?的主要内容,如果未能解决你的问题,请参考以下文章