- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 API 级别 21,我正在尝试显示从互联网下载并存储在缓存目录中的 PDF。
private void openRenderer(Context context) throws IOException {
Log.d("NoiPA", "Opening PDF File: " + pdfPath);
// In this sample, we read a PDF from the assets directory.
mFileDescriptor = ParcelFileDescriptor.open(new File(pdfPath),ParcelFileDescriptor.MODE_READ_ONLY);
//mFileDescriptor = context.getAssets().openFd(pdfPath).getParcelFileDescriptor();
// This is the PdfRenderer we use to render the PDF.
mPdfRenderer = new PdfRenderer(mFileDescriptor);
}
上面的代码使应用程序崩溃,堆栈跟踪如下:
Download: Completed -> Showing PDF
onAttach -> pdfPath: /data/data/com.vitobellini.noipa/cache/MAG 2016.pdf
Opening PDF File: /data/data/com.vitobellini.noipa/cache/MAG 2016.pdf
java.io.IOException: not create document. Error:
at android.graphics.pdf.PdfRenderer.nativeCreate(Native Method)
at android.graphics.pdf.PdfRenderer.<init>(PdfRenderer.java:149)
at com.vitobellini.noipa.PdfRendererFragment.openRenderer(PdfRendererFragment.java:151)
at com.vitobellini.noipa.PdfRendererFragment.onAttach(PdfRendererFragment.java:115)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1019)
at android.support.v4.app.BackStackRecord.setLastIn(BackStackRecord.java:779)
at android.support.v4.app.BackStackRecord.calculateFragments(BackStackRecord.java:819)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:660)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
我无法向自己解释为什么该代码不起作用,有人知道如何修复它吗?
最佳答案
根据我的经验,它与您传递给 PdfRenderer 的文件有关。如果您能够从您正在保存的完全相同的目录中使用其他应用程序/库打开同一个文件,则意味着您应该能够使用 PdfRenderer 打开它。
官方问题在这里https://github.com/googlesamples/android-PdfRendererBasic/issues/1关了,原来的记者还没有重新打开。
您能用您自己的 PDF 文件尝试完全相同的示例吗?如果它不起作用,则说明库存在错误,我建议您使用不起作用的文件重新打开该问题。也可以随意使用您的解决方案尝试其他文件(非常简单的文件)。
关于android - PDFRenderer 无法显示文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37643801/
您对如何使用标准 Java 库打印 PDF 文件并显示对话框窗口有什么想法吗? PrinterJob pjob = PrinterJob.getPrinterJob(); if (pj
我有一个使用 PDFRenderer.jar v1.0.5 的项目,该项目可能是从 http://grepcode.com/snapshot/repo1.maven.org/maven2/org.sw
我正在使用 API 级别 21,我正在尝试显示从互联网下载并存储在缓存目录中的 PDF。 private void openRenderer(Context context) throws IO
public void onBrowse(View view) { Intent chooseFile; Intent intent; chooseFile = new Int
我编写了一个将 PDF 文件导出为一系列图像的程序,如下所示: //Load pdf from path(file) File file = new File("C:\\TEMP\\offi
我正在尝试使用 PdfRenderer,要求是缩放和滚动可用,但在 Android PdfRenderer 中不提供任何缩放和滚动支持,只有页面导航支持可用。 但我想缩放和滚动支持可以实现,因为 Pd
我正在使用 PdfRendererabove api 21 在我的应用程序中显示 pdf,我注意到页面的质量很差。我还按照谷歌示例使用 PdfRenderer 这就是我为页面创建 Bitmap 的方式
我想使用 PDFBox 2.x 和 PDFRenderer 类将 PDF 转换为 TIFF。 但与ghostscript相比,它运行得非常慢。 这是我的示例代码 public class SpeedT
我正在尝试通过PDFRenderer库在java程序中打开加密的pdf文件。编译代码时,PDFPassword 类出现错误。这是我的代码的一部分。 RandomAccessFile raf =
我目前正在尝试使用需要 minSDK 为 21 的 PDFRenderer 类。在大多数情况下,我遵循了 here 中的示例。 .它可以很好地渲染大多数 PDF 文件,但似乎每当我尝试将 LaTeX
在 Android 5.0 中,Google 引入了 PdfRenderer 类,它非常适合渲染 PDF。问题是它仅适用于 minSDK 21。 https://developer.android.c
我在 MuPdf 库上工作了很长时间,在创建 libmupdf.so 文件并在 Cygwin 和 android-ndk 上工作后,我终于能够将它安装在我的设备上。但我仍然面临一个问题......应用
我正在尝试使用以下代码显示 pdf 文档 pdfRenderer = new PdfRenderer(parcelFileDescriptor); PdfRenderer.Page page = pd
我在尝试用 java 打印 Crystal 报表时遇到了一个问题,其中所有文本都被小方框字符替换了。报告 blob 存储在 Oracle 数据库中,我可以使用 adobe reader 预览它,并查看
在这两种情况下我都没有完成这项任务: 1.尝试从手机内存中打开它 2.尝试从资源中打开 我有 render() 方法,它在 第 1 情况下看起来像这样: private void render() {
我正在开发一个使用 Java 和库 PDFRenderer 打印 PDF 文档的应用程序,但我在尝试使用该库查看 PDF 文件时遇到了问题。 我知道 PDFRenderer 允许我在 Java 应用程
使用 pdfrenderer 为 Android L' 制作程序问题是 当使用 minsdk = 21 运行模拟器时错误 - “emulator-5554 已断开连接!正在取消‘com.example
我想使用 Java 的 PDF 到图像转换 API,PDF-Renderer似乎相当不错。由于它是为 JRE 1.5 合规性而编写的,因此当我尝试编译到 1.4 时,会出现很多编译错误。我尝试调整编译
我正在尝试使用 PdfRenderer 创建可组合的 PDF 查看器和 Coil用于将位图加载到 LazyColumn . 这是我到目前为止得到的: @Composable fun PdfViewer
我有一个要在 ImageView 中显示的 PDF。它在 API 24-28 上显示,但在 API 29 上没有显示图像。我认为问题可能是 PDFRenderer 创建的位图。 我在 .render
我是一名优秀的程序员,十分优秀!