问题标签 [android-pdf-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
73 浏览

android-edittext - Android EditText.drawToBitmap() 不显示文本

我正在尝试将布局转换为 PDF。它充满了从简单的 TextView 到自定义视图的视图。除了 EditText 之外,一切都很好。我看到 EditText 的下划线,但没有值。

一种尝试是将其view直接绘制到 PDF 页面。这不适用于 EditTexts。

另一种尝试(可能是突出显示的问题)是尝试将视图转换为位图然后绘制它。这是缩小范围的测试。

我尝试过使用 EditText、AppCompatEditText 和 TextInputEditText。值得注意的是,我正在构建这个视图而不将其显示到屏幕上。这是完整的片段:

0 投票
1 回答
156 浏览

android - Android:使用 PrintedPdfDocument 创建的 PDF 在不同设备上看起来不同

我正在尝试将视图呈现给 PrintedPdfDocument。正如预期的那样,页面的大小以 1/72 英寸为单位。因此,对于 A0 大小的页面(宽度 = 33.11 英寸),document.getPageWidth()返回 2384 (33.11 * 72)。页面画布宽度等于 1 个像素等于 1/72 英寸单位 - 因此,pageCanvas.getWidth()返回 2384。这在不同的设备上是正确的。到目前为止,一切都很好。

我面临的问题是,在不同的设备上,为同一视图生成的 PDF 文档看起来不同。在某些设备上,它在 PDF 页面上被拉伸,而在某些设备上,它按应有的方式呈现。

这里可能是什么问题?PDF的生成不应该与设备无关吗?我注意到这pageCanvas.getDensity()在不同的手机上是不同的。为什么手机屏幕密度会影响 PDF 页面画布的密度?

鉴于document.getPageWidth()1/72 英寸的数值 ==pageCanvas.getWidth()以像素为单位,不应该pageCanvas.getDensity()总是 72 DPI?在某些手机上是 320(正确显示的位置),而在其他手机上是 420(视图被拉伸的位置)。

有点卡在这里,所以非常感谢任何指针。提前致谢!

0 投票
0 回答
185 浏览

android - 通过 PdfRenderer 读取 Assets 文件夹中的 PDF 文件而不创建临时文件

我在 Assets 文件夹中有一个 pdf 文件,想打开它。我需要创建一个File如下以便设置为ParcelFileDescriptor传递给PdfRenderer.

这似乎很蹩脚,因为我需要创建临时文件,即使我的资产文件夹中有物理文件。有没有办法跳过在缓存中创建临时文件?

额外信息:我尝试使用以下

但我得到了这个错误Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed

我把它放在 build.gradle

并得到了这个错误Caused by: java.io.IOException: file not in PDF format or corrupted

0 投票
1 回答
106 浏览

android - 关闭 PdfRenderer 是否重要以及何时关闭

PdfRenderer在我的应用程序中使用。在这个应用程序中,用户可以打开 PDF 文件并浏览它。他可以在同一会话中打开另一个 PDF 文件。

我刚刚注意到,在使用后或打开新 PDF 之前我根本不会关闭它。我只是执行以下操作:

Google 示例中,虽然 PdfRenderer 在使用后总是关闭。

close()在打开新的 PDF 之前打电话重要吗?

0 投票
1 回答
33 浏览

android - Android 无法使用 AssetManager 显示 PDF

我想从我的活动按钮操作的资产文件夹中打开一个 PDF,我使用了以下代码,但没有任何反应。

它是由以下活动按钮操作触发的,并且从这里传递的 pdf 文件路径 url:

在 Manifest 上声明提供程序类,如下所示:

请指导我。

0 投票
3 回答
322 浏览

android - 谷歌的 PDF 嵌入在 Android webview 上不起作用,还有其他选择吗?

我想在嵌入 WebView 的应用程序中显示 PDF。 在我想在 URL 中使用获取参数之前,它工作正常。

因此,例如,这很好用:

https://drive.google.com/viewerng/viewer?embedded=true¶m=1&url=http://africau.edu/images/default/sample.pdf

但是,一旦我在给定的 URL 中放置了一个 get 参数,出于安全原因我无法显示,它就不起作用,例如:

https://drive.google.com/viewerng/viewer?embedded=true&url=http://{anydomain}/any.php?args1=1&args2=2

由于给定应用程序的商业模式,下载并显示然后删除 pdf 不是一种选择。由于给定 PDF 中的信息很敏感。我必须从一个 URL 显示一个嵌入的 PDF,无论我在哪里搜索,我都只找到了这个解决方案,谷歌的驱动器嵌入从很多角度来看都是可怕的,但最糟糕的是它不能很好地处理 GET 参数。

有小费吗?

编辑1:

我尝试了 URL 编码。Android 的 WebView 中的结果相同。我在 PC 浏览器中遇到相同的无编码我不认为问题出在编码上吗?

0 投票
2 回答
42 浏览

android - 如何在pdfactivity的webview中打开pdf文件?

您好,我正在开发应用程序以在 pdfactivity 的 webview 中打开 pdf 文件。我尝试通过意图打开它重定向到系统内置应用程序而不是 pdfactivity.java。找到下面的代码,我在我的 webview 活动中声明了这一点,

我正在使用PdfViewer.jar库,在 README 文本中提到使用

如何从 webview 中的网页获取 pdf 文件的 URL 并在 PdfActivity 中加载它们。请参阅以下链接以供参考, https://sourceforge.net/p/andpdf/code/HEAD/tree/tag/Beta_0_1_11/AndroidPdfViewer/activitysrc/net/sf/andpdf/