UWP C# 将 png 转换为 pdf

UWP C# Convert png to a pdf

不确定是否有简单的方法可以做到这一点。有没有办法在 UWP 程序中将 png 转换为 pdf 文件?我有一个程序可以读取大量图像,我想编辑它们,然后输出为 pdf。我只需要将一个 1280 x 720 的 png 文件转换为同一位置具有相同文件名的横向 pdf,所以希望这可以在用户不需要输入太多的情况下完成。

我不太确定从哪里开始。

任何指向相关内容的指针都将不胜感激。

第一个 google 结果: https://www.c-sharpcorner.com/UploadFile/26b237/insert-an-image-to-pdf-in-C-Sharp/

没有宣传这个组件,但它展示了它是如何完成的。您创建一个 .pdf 文档并以所需的样式将图像加载到其中并保存文档。

我们通常不提出解决方案(有多种方式)。相反,我们会一路帮助您 - 您应该自己尝试一些东西,当您遇到困难时,请展示您的尝试。

您可以使用 nuget 包 PdfSharp,它是 C# 的最佳库

http://www.pdfsharp.net

Windows 具有图像到 PDF 的本机转换(但您需要通过 shell 建立连接)并且控制有限

所以这里 1280 x 720 image.png 默认情况下需要 A3 但我可以在 windows 形式中更改它。

使用命令

rundll32 "C:\WINDOWS\system32\shimgvw.dll" ImageView_PrintTo "c:\mydata80 x 720.png" "My Print to PDF"

我欺骗了“我的打印为 PDF”(A3 - 无头)复制“Microsoft 打印为 PDF”(A4 - 提示)但脚本可以设置自定义 1280 x 720 页面大小。

如果(如果)您想要 %PDF-...%EOF 包装器中嵌入图像的 1 页 PDF,您可以使用最简单的文本前缀和后缀字符串来实现,甚至可能将页面串在一起。然而,使用任何 cli PDF 操纵器为您做这件事要简单得多,例如 https://www.win2pdf.com/doc/command-line-png-to-pdf.html 并且 UWP 是一个很大的开销,因此通常包含比您需要的更多的功能。

免责声明我支持 SumatraPDF,它是 一个可移植的 exe,可以无头命令行打印 PNG folder.zip 到多页 Images.pdf 但是对于 PNG 质量方法需要手动“另存为”PDF 脚本而不是隐藏的打印机命令。

UWP C# Convert png to a pdf

对于这种情况,更好的方法是调用 Print api 使用 Microsoft Print to PDF printer 将 png 打印为 pdf。你可以参考文档 here. And we also provide printer helper for printing quickly. For more detail please refer printhelper.