Is there any way to use the wrapper in an UWP application?
Is there any way to use the wrapper in an UWP application? I've tried to install PDFiumSharp and PDFium.Windows from NuGet in my own UWP project. It runs well in a Debug version but can't even pass the compilation in Release mode.

What happened is because code in this lib contains structs with auto-property. So I just clone this repository, add it to my sln and modify all auto properties in Types folder manually. It runs correctly on a Debug version and pass the compilation on a Release version. But the application cannot be launched after produced in Release mode.
The output is like this:
线程 0x2598 已退出,返回值为 -1073741701 (0xc000007b)。
线程 0x46a0 已退出,返回值为 -1073741701 (0xc000007b)。
线程 0x8c 已退出,返回值为 -1073741701 (0xc000007b)。
线程 0x3824 已退出,返回值为 -1073741701 (0xc000007b)。
程序“[11444] AOPDF.exe”已退出,返回值为 -1073741701 (0xc000007b)。
激活 Windows 应用商店应用“22891MilesChing.ArtofPDF_tyqjk8x5884rm!App”失败,错误为“应用未启动”。
Unable to activate Windows Store app: The App1.exe process started, but the activation request failed with error ‘The app didn’t start’.
Now I awared that the reason the application cannot be launched is pdfium_x64.dll and pdfium_x86.dll contains APIs not allowed by universal windows platform.
Illegal APIs:
- gdi32.dll 中的 API BeginPath。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API BitBlt。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CloseFigure。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CreateBitmap。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CreateCompatibleBitmap。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CreateCompatibleDC。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CreateFontA。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CreateFontIndirectA。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CreateFontIndirectW。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CreatePen。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CreateRectRgn。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API CreateSolidBrush。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API DeleteDC。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API DeleteObject。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API EndPath。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API EnumFontFamiliesExA。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API ExtCreatePen。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API ExtEscape。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API ExtTextOutW。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API FillPath。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GdiComment。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetCharWidthW。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetClipBox。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetClipRgn。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetDIBits。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetDeviceCaps。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetFontData。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetObjectType。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetObjectW。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetOutlineTextMetricsW。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetRegionData。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetTextFaceA。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API GetTextMetricsW。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API IntersectClipRect。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API LineTo。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API ModifyWorldTransform。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API MoveToEx。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API PolyBezierTo。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API RestoreDC。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SaveDC。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SelectClipPath。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SelectObject。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SetBkMode。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SetDIBitsToDevice。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SetGraphicsMode。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SetMiterLimit。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SetPolyFillMode。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SetStretchBltMode。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SetTextAlign。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API SetTextColor。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API StretchDIBits。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API StrokeAndFillPath。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API StrokePath。pdfium_x64.dll 调用此 API。
- gdi32.dll 中的 API WidenPath。pdfium_x64.dll 调用此 API。
- user32.dll 中的 API FillRect。pdfium_x64.dll 调用此 API。
- user32.dll 中的 API GetDC。pdfium_x64.dll 调用此 API。
- user32.dll 中的 API ReleaseDC。pdfium_x64.dll 调用此 API。
- vcruntime140_1_app.dll 中的 API __CxxFrameHandler4。Microsoft.Graphics.Canvas.dll 调用此 API。
- gdi32.dll 中的 API CreateCompatibleDC。PdfSharp.dll 调用此 API。
- gdi32.dll 中的 API CreateDCA。PdfSharp.dll 调用此 API。
- gdi32.dll 中的 API CreateFontIndirectW。PdfSharp.dll 调用此 API。
- gdi32.dll 中的 API DeleteObject。PdfSharp.dll 调用此 API。
- gdi32.dll 中的 API GetDeviceCaps。PdfSharp.dll 调用此 API。
- gdi32.dll 中的 API GetFontData。PdfSharp.dll 调用此 API。
- gdi32.dll 中的 API SelectObject。PdfSharp.dll 调用此 API。
- user32.dll 中的 API GetDC。PdfSharp.dll 调用此 API。
- user32.dll 中的 API ReleaseDC。PdfSharp.dll 调用此 API。
- uwphost.dll 中的 API ExecuteAssembly。AOPDF.exe 调用此 API。
- uwphost.dll 中的 API DllGetActivationFactory。AOPDF.exe 具有可转发到此 API 的导出命令。
- gdi32.dll 中的 API BeginPath。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API BitBlt。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CloseFigure。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CreateBitmap。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CreateCompatibleBitmap。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CreateCompatibleDC。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CreateFontA。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CreateFontIndirectA。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CreateFontIndirectW。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CreatePen。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CreateRectRgn。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API CreateSolidBrush。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API DeleteDC。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API DeleteObject。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API EndPath。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API EnumFontFamiliesExA。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API ExtCreatePen。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API ExtEscape。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API ExtTextOutW。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API FillPath。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GdiComment。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetCharWidthW。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetClipBox。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetClipRgn。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetDIBits。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetDeviceCaps。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetFontData。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetObjectType。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetObjectW。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetOutlineTextMetricsW。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetRegionData。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetTextFaceA。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API GetTextMetricsW。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API IntersectClipRect。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API LineTo。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API ModifyWorldTransform。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API MoveToEx。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API PolyBezierTo。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API RestoreDC。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SaveDC。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SelectClipPath。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SelectObject。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SetBkMode。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SetDIBitsToDevice。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SetGraphicsMode。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SetMiterLimit。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SetPolyFillMode。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SetStretchBltMode。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SetTextAlign。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API SetTextColor。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API StretchDIBits。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API StrokeAndFillPath。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API StrokePath。pdfium_x86.dll 调用此 API。
- gdi32.dll 中的 API WidenPath。pdfium_x86.dll 调用此 API。
- user32.dll 中的 API FillRect。pdfium_x86.dll 调用此 API。
- user32.dll 中的 API GetDC。pdfium_x86.dll 调用此 API。
- user32.dll 中的 API ReleaseDC。pdfium_x86.dll 调用此 API。
I'm working on removing or replacing these APIs and built libraries independently for UWP.
Hi @MilesChing , Did you able to remove or replace those APIs for UWP? I'm having trouble replacing those. uwphost.dll issues come when you build without .Net ToolChain. It can be turned on from build properties.
My pdfium.dll needs zlib.dll and icuuc.dll as well which have incompatible APIs for UWP. Did you change the default BUILD.gn scripts? How did you manage to build without those dlls?
Thanks
Hi @MilesChing , Did you able to remove or replace those APIs for UWP? I'm having trouble replacing those. uwphost.dll issues come when you build without .Net ToolChain. It can be turned on from build properties.
My pdfium.dll needs zlib.dll and icuuc.dll as well which have incompatible APIs for UWP. Did you change the default BUILD.gn scripts? How did you manage to build without those dlls?
Thanks
Sorry, I did not complete that work. It seems not a good idea to use PDFium in an UWP application. Build without .Net ToolChain will leads you a runable version even incompatible APIs are included, but you cannot publish that to Microsoft store.