UWP C# 将 png 转换为 pdf

Posted

技术标签:

【中文标题】UWP C# 将 png 转换为 pdf【英文标题】:UWP C# Convert png to a pdf 【发布时间】:2021-12-14 12:48:24 【问题描述】:

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

我不确定从哪里开始。

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

【问题讨论】:

【参考方案1】:

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

不推广组件,但它显示了它是如何完成的。您创建一个 .pdf 文档并使用所需样式将图像加载到其中并保存文档。

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

【讨论】:

谢谢。我确实搜索了“UWP C# Convert png to pdf”,结果都是 pdf to png。显然我的谷歌搜索不合格。这似乎工作正常。它给了我想要的东西,这很棒。【参考方案2】:

Windows 具有将图像本地转换为 PDF 的功能(但您需要通过 shell 进行连接)并且控制受到限制

所以这里 1280 x 720 image.png 默认需要 A3,但我可以在 windows 窗体中更改它。

使用命令

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

我通过让“我的打印到 PDF”(A3 - 无头)复制“Microsoft 打印到 PDF”(A4 - 提示)而作弊,但使用脚本可以设置自定义 1280 x 720 页面大小。

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

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

【讨论】:

【参考方案3】:

UWP C# 将 png 转换为 pdf

对于这种情况,更好的方法是调用 Print api 使用 Microsoft Print to PDF printer 将 png 打印为 pdf。您可以参考文档here。我们还提供快速打印的打印机助手。更多详情请参考printhelper。

【讨论】:

【参考方案4】:

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

http://www.pdfsharp.net

【讨论】:

以上是关于UWP C# 将 png 转换为 pdf的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中将 PDF 转换为图像? [复制]

将 PDF 转换为 PNG

使用 ImageMagick 将 pdf 转换为 png 时出错

如何使用java将PNG文件转换为PDF?

使用 ImageMagick 将 PNG 文件转换为 PDF 时出现粗糙的边缘

Mac:无法将 .pdf 转换为 .png - GS 错误