问题标签 [pdfium]

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 投票
1 回答
203 浏览

android - Android 包装器 dll 上的 pdfium DLL

可以在项目android上使用pdfium dll吗?有一种方法可以包装这个 dll 以在 android 中使用它?最好的解决方案是什么?我需要一种方法来包装 pdfium 以在项目 android 中使用它

0 投票
0 回答
155 浏览

javascript - Chrome 中的 HTML/JavaScript 和 ActroJS 通信

好吧,它即将让所有weeeeeird在这里。

我的目标:我想在以 PDF 形式运行的 AcroJS 和在包装它的 HTML DOM 中运行的常规 JS 之间来回推送消息,所有这些都存在于 iframe 中。我不控制 PDF 文档的创建,但我可以在使用 iTextSharp 时修补一些 AcroJS,这似乎是目前为止的工作。

我的问题:在 Chrome 中(使用内置 PDF 支持/无 Adob​​e 插件)缺少一些 API。正如我所期望的那样,embed 标签上有 postMessage 方法(就像在使用 Adob​​e 的 PDF 插件的浏览器中所做的那样),但在实际的 PDF 端,文档没有 hostingContainer 属性,所以我不能连线up 方法来接收通过 postMessage 发送的事件。

我的问题:Chrome 是否有不同的方式来注册该处理程序?正如我听说的那样,它只是缺少一些功能吗?如果是这样,另一个标签上的 postMessage 方法是否是一个红鲱鱼?我有点困惑,到目前为止还没有找到任何类型的编程参考,除了Adob​​e 的,显然没有完全涵盖 Chrome。

0 投票
0 回答
2081 浏览

c++ - 了解链接器逻辑 - 隐藏符号

我试图了解链接时在 GCC 4.9.2(在 ubuntu 上)上看到的错误。

具体场景是编译支持pdfium的新版GDAL。pdfium 被构建为一个静态库。

pdfium 构建工作,但 GDAL 发生链接时间错误。看起来像:

我了解错误的含义(请参阅关于 DSO 引用隐藏符号的警告到底意味着什么?),并且我知道如何修复它 - 关闭所有地方的隐藏可见性,或将两个问题类设置为具有默认可见性(通过属性或 declspec)。

我不明白为什么要引用这些特定的类——它们没有直接在GDAL 源代码中使用。

使用 nm,根据评论,它们确实出现在 gdal.so.20.0.0 共享库中:

(U == 未定义)。这与链接器错误中的“被引用”部分一致,但并没有告诉我为什么引用它。

也许有一些内联意味着它们被使用了——但现在我在猜测,我不想这样做。特别是因为我似乎猜错了。

所以问题是是否有某种方法可以调试链接器逻辑——以某种方式找出链接器为什么要尝试解析这些符号?

0 投票
1 回答
810 浏览

javascript - PDFium 有限的 javascript 支持

我想使用 PDFium 的内置 JavaScript。我知道 PDFium 对 JavaScript 的支持有限,但我看过一些帖子说它确实有一些可用的命令

这是我想做的,当打开pdf(在PDFium中)时,我想让它自动打开到最后一页并删除打印按钮。这些都是使用 PDFium 源代码的可用命令,但我还没有看到任何关于如何使用它们的文档/示例。

我假设我可以将这些命令嵌入 PDF 本身,但我不知道如何。

0 投票
1 回答
1966 浏览

javascript - 从 javascript 调用 pdfium (chrome native pdf viewer)

我知道 pdfium 公开了一个 javascript API(请参阅此问题)。但我找不到如何调用这些函数。在呈现 PDF 的页面上,我可以看到一个嵌入标签,但我不知道如何处理它。

给我这个:

而在Chrome扩展的源码中,pdf.js中有这个函数:

但它只允许“selectAll”消息。

如果有人能告诉我在哪里可以阅读有关此的更多信息或如何使用 javascript 与 pdfium 交互,我将不胜感激

0 投票
0 回答
138 浏览

google-chrome - 使用 Chrome 扩展内容脚本访问可见 PDF

我正在尝试构建一个 Chrome 扩展来访问 PDF 的二进制文件,以防用户在 Chrome 的选项卡中查看 PDF。我以为我会使用内容脚本来解决文件权限问题,现在我试图弄清楚如何通过 DOM 通过 PDFium 访问 PDF 的二进制文件。这可能吗?有没有人找到一个好的解决方案?我不需要做任何渲染,我只需要渲染文件的二进制表示。

0 投票
1 回答
175 浏览

c++ - 未能保留指向内存的指针

这就是我使用 Google 的 PDFIUM 库加载 pdf 的方式。我收到void*

现在我想将此文档保存在向量中,FPDF_DOCUMENT该向量基本上void*是我从上面的代码中收到的。这就是我将它保存在向量中的方式:

问题是当我超出此方法的范围时,我无法访问doc. 我猜当 doc 超出范围时,GC 会释放该内存。我了解了这个 Valgrid 调试工具。doc 在与加载 pdf 的命令相同的函数中声明。

我基本上想保留加载的pdf,以便以后可以访问它并从中渲染页面。

Valgrind 输出:

以下是 PDFManager 中的方法:

pdfs 是在 PDFManager.h 中声明的向量:

以下是我访问 pdf 以访问使用上述方法加载的 pdf 数据的方法的一部分:

0 投票
1 回答
880 浏览

android - 如何使用 pdfium 创建带有位图的 pdf 文档?

我曾尝试使用 pdfium 在 android4.3 中生成 pdf。但我不知道如何将位图添加到 FPDF_PAGE。这是我的测试源代码:

谢谢!!

0 投票
1 回答
991 浏览

dll - 创建 pdfium dll

我正在尝试创建一个用于pdfium使用 Visual Studio 2013 的 dll(如在 pdfium 中创建 dll 中),除了当我下载pdfium我设置的项目时DEPOT_TOOLS_WIN_TOOLCHAIN=0,因为现在,默认情况下,它们使用来自 depot_tools 的工具链。

但是在构建过程中我仍然遇到错误:

error LNK2019: unresolved external symbol _FPDF_BStr_Init referenced in function "public: class CFX_WideString __thiscall CPDFDoc_Environment::FFI_PostRequestURL(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)" (?FFI_PostRequestURL@CPDFDoc_Environment@@QAE?AVCFX_WideString@@PB_W0000@Z) ..\pdfium\fpdfxfa.lib(fpdfxfa_app.obj) pdfium

和类似的_FPDF_BStr_Clear

error LNK2019: unresolved external symbol _FPDF_BStr_Clear referenced in function "public: class CFX_WideString __thiscall CPDFDoc_Environment::FFI_PostRequestURL( ...

我通过了,这可能是 xfa 的问题,所以我尝试在没有它的情况下构建 pdfium。我PDF_ENABLE_XFA从该解决方案中所有项目的预处理器定义中删除了,但后来我发现 fxcodec 和 fxcrt 没有该定义就无法构建。当我为该项目保留该定义时,我可以成功构建 pdfium 项目,但是当我在我的应用程序中使用它时,它会失败。

然后我尝试以不同的顺序执行并获得 dll,但没有使用 FPDFSDK_EXPORTS 定义。当我添加它时,会出现这些错误。

0 投票
1 回答
1594 浏览

c# - 从 PDF c# 读取所有页面

我想阅读我的 PDF 的所有页面并将它们保存为图像,到目前为止,我所做的只是让我0 = 1首先定义页面等。我有机会定义一个范围吗?