标签: pdfium

用pdfium创建一个dll

我正在尝试创建一个dll pdfium.我正在使用Visual Studio 2013(C++)我试过按照https://github.com/pvginkel/PdfiumViewer的说明但是没有用.(我试图获得一个不是PdfiumViewer的项目的pdfium dll ).我收到以下错误:

2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(1193,5): warning MSB8012: TargetPath(\build\Debug\lib\pdfium.dll) does not match the Linker's OutputFile property value (C:\build\Debug\pdfium.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
2>     Creating library \build\Debug\pdfium.lib and object \build\Debug\pdfium.exp
2>fpdfdoc.lib(doc_form.obj) : error LNK2019: unresolved external symbol __imp_CreateFontA referenced in function "public: static class CPDF_Font * __cdecl CPDF_InterForm::AddSystemFont(class CPDF_Document const *,class CFX_ByteString,unsigned …
Run Code Online (Sandbox Code Playgroud)

c++ dll linker visual-studio-2013 pdfium

2
推荐指数
1
解决办法
3391
查看次数

pdfiumViewer的库依赖项?

我在使用C#使用pdfium显示pdf时遇到了一些麻烦。我读了另一个问题:

从内存流中读取已存储的PDF

我下载了pdfiumViewer程序包,但是在编译时,它说找不到pdfium库。因此,我下载了软件包“ pdfium.net SDK”,它可以运行,但不是免费的,它是受限版本。我想知道的是:我们必须拥有软件包“ pdfium.net SDK”才能使“ pdfiumViewer”正常工作吗?

c# pdf pdfium

2
推荐指数
2
解决办法
1万
查看次数

如何将 dll 文件添加到 UWP 项目中

我正在为 Pdfium 库 (pdfium.dll) 构建一个 UWP 查看器。pdfium.dll 是一个 C++ 类库。在我的 Visual Studio 解决方案中,我有两个 UWP 项目。First Project(PdfiumViewer) 是一个 UWP 类库,它从 pdfium.dll 导入函数并创建用户控件。例如:

[DllImport("pdfium.dll")]
public static extern void FPDF_AddRef();
Run Code Online (Sandbox Code Playgroud)

第二个项目(PdfiumViewer.Demo)是一个 UWP Blank App,我在这里引用了第一个项目,以便我可以在这个项目中使用它的用户控件。我将 pdfium.dll 包含到我的第二个项目的 bin 文件夹中。但是当我运行程序时,我收到一个异常,说“无法加载 pdfium.dll”。

有为 .Net Windows 窗体和 WPF 应用程序开发的现有类似查看器。

我尝试通过右键单击引用 ->“添加引用”来添加 pdfium.dll 作为引用。在所有这些情况下(.Net WinForm、.Net WPF、UWP),添加它给了我一个错误。(错误:无法添加对 ....\pdfium.dll 的引用。请确保该文件可访问,并且它是有效的程序集或 COM 组件)

我以类似的方式(到 bin 文件夹)将 pdfium.dll 添加到 .Net WinForm 和 .Net WPF 中并运行它们。两种类型的应用程序查看器都运行良好。

我的问题: 由于 UWP 应用程序在沙箱中运行,是否有特殊位置可以添加此 dll(pdfium.dll)?

注意:我尝试将文件添加到不同的位置。(APPX 文件夹内、bin\Debug 文件夹内、bin\Debug\x64 内等)

.net c# dll pdfium uwp

2
推荐指数
1
解决办法
1928
查看次数

允许PDFium支持x86和x64

我已经构建了一个WinForms应用程序,该应用程序使用PDFium打印PDF文档。我从NuGet安装了PDFium,并按预期在我的项目中创建了两个子文件夹x86和x64,每个子文件夹中都包含相关版本的pdfium.dll。我的应用程序的目标平台设置为Any CPU

当我在Windows 10 64位计算机上以调试方式运行应用程序时,它可以完美运行。但是,当我发布该应用程序并将其真正安装在同一台计算机上时,PDFium抛出异常:

System.BadImageFormatException:试图加载格式错误的程序。(来自HRESULT的异常:0x8007000B)

经过研究后,我将应用程序的目标平台更改为x86,并从项目中删除了x64子文件夹。现在,该应用程序在发行后可以正常运行,因此问题得以解决。

但是,我想知道是否有一种方法可以使我的应用程序正常工作,以便使用适用于目标计算机的PDFium版本来支持x86和x64。如果能在支持它的机器上安装64位版本(这是我们组织中的大多数人,但我觉得如果必须选择32位版本,则我应该使用32位版本)会很好。其他,以确保兼容性)。

c# winforms pdfium

1
推荐指数
1
解决办法
1746
查看次数

标签 统计

pdfium ×4

c# ×3

dll ×2

.net ×1

c++ ×1

linker ×1

pdf ×1

uwp ×1

visual-studio-2013 ×1

winforms ×1