【问题标题】:Manipulating "Save PDF File As" function created by Adobe Reader XI Pro add-on操作由 Adob​​e Reader XI Pro 插件创建的“将 PDF 文件另存为”功能
【发布时间】:2014-07-26 07:16:34
【问题描述】:

首先 - 我一直在到处搜索,但我找到的解决方案都不适合我的问题。

基本上,我正在创建一个簿记程序,并且一切正常。经过大量时间的开发,它几乎完成了,但现在我遇到了一个大问题。

程序想要做什么?

该程序希望通过将其创建的工资报告文件发送到打印机“Adobe PDF”来打印它,该打印机创建一个 pdf 并且这里的一切工作正常。但现在程序会打开一个名为“另存为 PDF”的新窗口,我需要在其中插入文件名并按 Enter。我为它编写了代码,但尽管窗口被激活,但代码不起作用。 :/

这是我打印按钮的代码示例,其中“CreateReceipt”只是将所有文本绘制到 pdf 中。

private void palgalipik_Click(object sender, EventArgs e)
    {
        PrintDialog printDialog = new PrintDialog();
        PrintDocument printDocument = new PrintDocument();
        printDocument.PrinterSettings.PrinterName = "Adobe PDF";
        printDialog.Document = printDocument;    
        printDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(CreateReceipt);
        printDocument.Print();
        System.Threading.Thread.Sleep(2500);
        SendKeys.SendWait(töötajanimi1.Text + "(" + palgaperiood.Text + ")");
        SendKeys.SendWait("{ENTER}");
    }

TL;DR 问题 需要在“将 PDF 文件另存为”对话框中插入插入字符串,然后单击 ENTER 即“保存”。代码应该这样做,但没有 - 有什么问题?

注意!我想使用 Adob​​e Reader XI Pro,因为公司的所有计算机都有它,所以它比开始使用 iTextSharp 或其他替代品要好得多。

提前致谢,请问我的问题是否仍然模糊!

【问题讨论】:

  • 没有名为“Adobe Reader XI Pro”的软件。有(免费的)Adobe Reader XI,有(收费的)Adobe Acrobat XI Pro。

标签: c# winforms pdf


【解决方案1】:

使用 API 创建 PDF 而不是打印机:

http://www.pdfsharp.com/PDFsharp/

http://sourceforge.net/projects/itextsharp/

【讨论】:

  • 目前我已经放弃了操作并正在编写 itextsharp API 来为我完成这项工作,但我仍然想知道是否可以让程序在没有用户干预的情况下按下按钮.无论如何感谢您的意见!
  • -1。仅链接的答案没有用,并且在 StackOverflow 中不鼓励使用,因为链接可能会脱机。
  • 我的答案是使用 API 而不是他当前的方法。链接是示例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-10
  • 2022-01-01
  • 1970-01-01
  • 2014-10-29
  • 2019-04-28
  • 2015-04-18
  • 2012-11-30
相关资源
最近更新 更多