当前位置: 首页 > 知识库问答 >
问题:

生成的PDF被阻止打印选项-互操作

秋飞鸾
2023-03-14

我正在使用Microsoft.Office.interop.word.document()接口将Doc/Docx文件转换为PDF,但是生成的PDF文件的打印选项被阻止了。我使用“saveAs2”方法,只传递两个参数,即文件名和文件格式。

对于通过互操作生成的pdf,有没有任何方法可以始终解锁打印选项?或者这是MS Office配置?

public static string convertFileDocDocx(string fileDocDocx)
{
    try
    {
        if (fileDocDocx.ToUpper().Contains(".DOTX") || fileDocDocx.ToUpper().Contains(".DOCX") ||
            fileDocDocx.ToUpper().Contains(".DOT") || fileDocDocx.ToUpper().Contains(".DOC"))
        {
            var wordDoc = new Microsoft.Office.Interop.Word.Document();
            var wordApp = new Microsoft.Office.Interop.Word.Application();
            Object oMissing = System.Type.Missing;
            object fileFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;

共有1个答案

寿嘉悦
2023-03-14

以下创建可打印的PDF文件:

using Word=Microsoft.Office.Interop.Word;
....
Word.Application winword = new Word.Application();
Word.Document document = winword.Documents.Open(@"C:\temp\Hallo.docx");

object SavePDFFormat = Word.WdSaveFormat.wdFormatPDF;

document.SaveAs2(@"C:\temp\Hallo.pdf", ref SavePDFFormat);
document.Close();
winword.Quit();
 类似资料:
  • 我有一个打印PDF的java程序。它使用Apache PDFBox创建一个对象(在某些情况下来自pdf文档或流),然后使用API将其发送到打印机: 现在我需要能够告诉打印机装订东西。。。 我熟悉javax.print.attributesAPI,并成功地使用它来指定托盘或设置双工,例如: 我知道装订有一个属性: 我有一个施乐Versalink B7035,带有Finisher XL附件,完全支持装

  • 我再需要一次帮助。我正在尝试用Chrome的无头功能打印一页到pdf。但是,页眉和页脚在PDF中是存在的。我发现这个选项已经在devtools中实现了。 https://chromedevtools.github.io/devtools-protocol/tot/page/#method-printtopdf 但是,我找不到如何在CLI中使用这些选项。是否可以从Selenium调用Devtools

  • 我有2个代理(一个windows和一个linux)。在我的构建链中,我有三个构建配置。Linux构建配置夹在windows构建配置之间。构建链的步骤如下: 在windows计算机上运行生成,生成一个可执行文件。 在Linux计算机上安装服务器。 在windows计算机上运行可执行文件,这将消耗作为linux计算机上第二步的一部分构建的服务器。 null

  • 我有一个小的vertx应用程序。一个超文本传输协议垂直获取一个请求,并通过带有请求-响应模式的eventbus发送它。所以类似于: 在DB Vertical中,我使用消费者获取一条消息,发送到DB,进行一些更改并发送回HTTP verticle。我的问题是,我有一个必须进行大量检查的删除操作,所以这个过程可能需要10秒钟。此时HTTP verticle仍然可以获得一些新请求,但DB consume

  • 如标题所示,我们的网络服务器经常向用户返回pdf报告。当他们查看pdf报表时,他们通常使用Chrome中的Ctrl P来打印它。 问题是当用chrome打印pdf时,它总是切断pdf页面的页眉和页脚(~0.45厘米或0.1771654英寸)。 你们可以在这篇文章的底部看到这张图片,当我们按下“打印”按钮时,两个红色矩形中的所有内容都将丢失(尽管它在打印预览中显示良好)。 我搜索了关键字"Chrom

  • 问题内容: 当我处理print()函数(Python 3)时出现问题。 当我寻找序列的总和时,我可以使用以下代码模式: 但是当我倾向于检查自己制作的系列时:(我选择print()并假设它将逐行打印出来) 事实证明,它成为没有返回值的生成器对象。因此,我必须使用list()进行序列检查。那是打印功能上的缺陷吗? PS:以上内容是构成生成器的示例,不是自然序列的最简单形式,而是复杂序列的骨骼结构。为了