C或C++打印pdf文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C或C++打印pdf文件相关的知识,希望对你有一定的参考价值。

电脑中有pdf文件,如何C或C++写代码,把这个pdf文件打印出来

参考技术A 需要用到windows自带的函数,另外还需要pdf解析动态库,windows自己没有这功能,只能支持office和文本的打印,你需要出钱购买或者网上找看有没有pdf解析动态库,一般来说是没有免费的,你看到的那些pdf阅读器都自己带有自己的解析库,但是没有把函数接口告诉你,保密的,嘿嘿

如何通过“ Microsoft打印为PDF”以编程方式将文件和网页打印为PDF?

我正在使用C#编写的UWP应用程序,我需要转换为pdf:-办公文件(doc,docx,xl​​s,xlsx,ppt,pptx)- 图片-网页

该应用程序必须能在x86,x64,ARM,ARM64体系结构中工作。

我知道市场上有第三方转换器库,但是只有少数几个在ARM64上下文或UWP中工作。

我的想法是(在Windows 10中使用)“ Microsoft PDF打印机”,该打印机允许用户将大多数文件格式保存为PDF。

我发现很多帖子都问同样的问题,但没有一个确实包含有用的答案。

我找到并测试的代码如下:

PrintDocument doc = new PrintDocument()
{
//DocumentName = safeDir + fileName,
    PrinterSettings = new PrinterSettings()
    {
        // set the printer to 'Microsoft Print to PDF'
        PrinterName = "Microsoft Print to PDF",

        // tell the object this document will print to file
        PrintToFile = true,


        // set the filename to whatever you like (full path)
        PrintFileName = safeDir + fileName,
    }
};
doc.Print();

以上代码生成有效但为空的pdf。我应该如何设置原始文件内容?

例如,如果我有一个名为myreport.docx

的Word文件,是否应该将其转换为字节数组并将其设置在某个位置?

谢谢你。

我正在使用C#编写的UWP应用程序,我需要转换为pdf:-办公文档(doc,docx,xl​​s,xlsx,ppt,pptx)-图像-网页应用程序必须在x86,x64,...

答案

[使用PrintDocument类时,您应按照以下示例将要打印的文件读入文件流:https://docs.microsoft.com/en-us/dotnet/api/system.drawing.printing.printdocument?view=netframework-4.8

另一答案

在UWP中,我们使用PrintDocument打印PrintDocument。这是官方UIElement。这是代码tutorial

以上是关于C或C++打印pdf文件的主要内容,如果未能解决你的问题,请参考以下文章

如何显示 pdf 或打印 pdf [关闭]

pdf格式文件打印为啥很慢?

如何将pdf文档设置为不能打印

C# - 如何使用 PrintDocument 以编程方式打印现有 PDF 文件

怎样把EXCEL或WORD文档转换成PDF文档?

ofd怎么转换成word