在 VB.net 中打印外部 PDF 文档

2023-12-06

我知道这个问题以前曾被问过,但我的情况有点不稳定。

基本上,我正在尝试打印使用以前的 Windows 窗体生成的 PDF 文件。我可以毫无问题地找到该文件,并且我使用了从 MSDN 帮助论坛找到的以下代码:

Dim p As New System.Diagnostics.ProcessStartInfo()
p.Verb = "print"
p.WindowStyle = ProcessWindowStyle.Hidden
p.FileName = "C:\534679.pdf"   'This is the file name
p.UseShellExecute = True
System.Diagnostics.Process.Start(p)

到目前为止一切顺利,但每次我按下按钮运行此代码时,它都会不断要求我将其另存为 PDF 文件,如下所示:

enter image description here

我还尝试将 PrintDialog 添加到 Windows 窗体,使其弹出,然后我可以从那里选择我想要使用的打印机,但即使在选择打印机之后,它仍然要求我打印到 PDF 文档。

我究竟做错了什么?


大量打印PDF文件与VB.Net您可以使用LVBPrint并通过运行它command line:

http://www.lvbprint.de/html/gsbatchprint1.html

例如:

C:\temp\gsbatchprint64\gsbatchprintc.exe -P \\server\printer -N A3 -O Port -F C:\temp\gsbatchprint64\Test*.pdf -I Tray3

我在我的应用程序中使用以下函数:

    ' print a pdf with lvbrint
    Private Function UseLvbPrint(ByVal oPrinter As tb_Printer, fileName As String, portrait As Boolean, sTray As String) As String

        Dim lvbArguments As String
        Dim lvbProcessInfo As ProcessStartInfo
        Dim lvbProcess As Process

        Try

            Dim sPrinterName As String

                If portrait Then
                    lvbArguments = String.Format(" -P ""{0}"" -O Port -N A4 -F ""{1}"" -I ""{2}"" ", sPrinterName, fileName, sTray)
                Else
                    lvbArguments = String.Format(" -P ""{0}"" -O Land -N A4 -F ""{1}"" -I ""{2}"" ", sPrinterName, fileName, sTray)
                End If

            lvbProcessInfo = New ProcessStartInfo()
            lvbProcessInfo.WindowStyle = ProcessWindowStyle.Hidden

            ' location of gsbatchprintc.exe
            lvbProcessInfo.FileName = LvbLocation 
            lvbProcessInfo.Arguments = lvbArguments

            lvbProcessInfo.UseShellExecute = False

            lvbProcessInfo.RedirectStandardOutput = True
            lvbProcessInfo.RedirectStandardError = True


            lvbProcessInfo.CreateNoWindow = False

            lvbProcess = Process.Start(lvbProcessInfo)

            '
            ' Read in all the text from the process with the StreamReader.
            '
            Using reader As StreamReader = lvbProcess.StandardOutput
                Dim result As String = reader.ReadToEnd()
                WriteLog(result)
            End Using

            Using readerErr As StreamReader = lvbProcess.StandardError
                Dim resultErr As String = readerErr.ReadToEnd()
                If resultErr.Trim() > "" Then
                    WriteLog(resultErr)

                    lvbProcess.Close()
                    Return resultErr
                End If
            End Using

            If lvbProcess.HasExited = False Then
                lvbProcess.WaitForExit(3000)
            End If

            lvbProcess.Close()

            Return ""

        Catch ex As Exception
            Return ex.Message 
        End Try
    End Function

我不鼓励使用AcrRd32.exe因为它不适用于大量印刷。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 VB.net 中打印外部 PDF 文档 的相关文章

  • 在多个页面上打印流程文档滚动查看器

    我正在尝试打印我的 FlowDocument 它被包装到 FlowDocumentScrollViewer 中 因为我有很多文本 文本框 组合框 并且页面高度可能会变高 我正在使用这个 PrintDialog printDialog new
  • 从 VB.Net 中的 app.config 获取动态更新的连接字符串

    我在 app config 中有一个连接字符串 如下所示
  • 在 Swift 3 中打印

    我想知道这两种在 Swift 中打印对象的方法有什么不同 结果看起来是一样的 var myName String yohoo print My name is myName print My name is myName 功能上几乎没有区别
  • vb.net中如何读取串口数据?

    我创建了一个类 有一个名为 SendUSSD 的子类 当调用它时 它会向连接 gsm 手机的 COM 端口发送一个 ussd 代码 如 123 此 usd 应该返回移动余额 If IsOpen True Then checks if the
  • Nothing = String.Empty (为什么它们相等?)

    为什么第一个 if 语句的计算结果为 true 我知道如果我使用 is 而不是 那么它的计算结果不会为 true 如果我将 String Empty 替换为 Foo 它的计算结果不会为 true String Empty 和 Foo 都具有
  • 如何将 POST 请求内容保存为 .NET 中的文件 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个客户端应用程序POST请求a
  • 我可以快速将我的组件替换为自定义主题的组件吗?

    我想通过使用自定义创建的主题来改善程序的外观 如下所示 http www mpgh net forum 33 visual basic programming 492570 biesis vb net theme archive html
  • 在 iOS 中将一个或多个格式化程序与页面渲染器一起使用

    有没有人尝试过使用多个格式化程序 UIViewPrintFormatter UIMarkupTextPrintFormatter UISimpleTextPrintFormatter 与页面渲染器 UIPrintPageRenderer 打
  • 增加超时时间

    我必须增加超时时间 以下是我的代码 Private Function GetConnectionInstance As SqlConnection Dim objConn As SqlConnection Dim strConnection
  • 设置外部应用程序焦点

    在 VB NET 中 您可以使用以下命令将焦点设置到外部应用程序 AppActivate Windows Name or AppActivate processID As Integer 现在 如果您这样做 则效果很好 Dim intNot
  • 如何在服务器(无 GUI)上呈现网页以进行打印?

    我正在尝试使用 PHP 脚本将页面实用地打印到办公室打印机 这是我到目前为止所得到的 我在服务器上安装了一台打印机 我可以通过命令行的打印命令使用 PHP 向其发送作业 我还可以使用 PHP 脚本编写纯文本文件 然后将它们添加到打印提示中
  • 全球化自定义数字格式 - 可变小数点

    我正在尝试更改公司应用程序中现有的数字格式 以使其对国际用户更具可读性 这是一个股票交易应用程序 因此大多数股票价格的数字精确到小数点后 2 位 例如 gt 17 23 我们还可以得到精确到小数点后 4 位的价格变动 因此细价股票可能是 0
  • IIS7.5 WCF 服务 - HTTP 错误 401.3(即使在添加 IIS_IUSRS 后)

    我们有使用 NT Authority Network Service 的网站 Response Write WindowsIdentity GetCurrent Name 该网站使用托管在 IIS 7 5 中的 WCF 服务 当我们浏览服务
  • 在 Visual Basic 2010 的控件中显示 PDF

    我刚刚安装了 Visual Basic 2010 浏览了一些有关如何显示文件的教程 但找不到任何有关如何选择现有 PDF 文件并将其嵌入表单的材料 任何正确方向的建议或指示都会很棒 谢谢 只需在表单中嵌入浏览器控件并将其导航到 PDF 文件
  • 将图像另存为“位图图像”以访问数据库

    我能够使用内存流成功将图像保存到 Access 数据库表 我保存图像的列的数据类型为 OLEObject 当我打开表时 我在此图像列中看到 长二进制数据 值 问题是 当我在此数据库中创建任何报告时 我无法看到图像 而当我在MSPaint中打
  • MouseHover 事件中的鼠标坐标?

    我知道如何检索鼠标坐标PictureBox Click虽然事件e In a PictureBox MouseHover e不返回此类信息 如何获取鼠标坐标MouseHover事件 有办法吗 提前致谢 Control MouseHover h
  • 如何在 vb.net 中使用 Stacktrace 返回错误行号

    我正在尝试创建某种错误捕获方法来返回错误行号 当进程中止时 我们会发送一封中止电子邮件 该电子邮件为我们提供了错误号 and 错误描述但我想知道实际上哪里出了错误 我知道你可以执行以下操作 1 code here 2 code here 3
  • 如何在wpf中打印屏幕截图

    首先我英语说得不太流利 反正 我正在尝试这样做 然而这还不是第三天 我现在正在做的是屏幕捕获后的程序屏幕打印 我参考这段代码 https social msdn microsoft com Forums windows en US 0623
  • VB - 如何读取和写入二进制文件?

    如何从任何文件读取原始字节数组 Dim bytes as Byte 然后将该字节数组写回到新文件中 我需要它作为字节数组来在两者之间进行一些处理 我目前正在使用 To read Dim fInfo As New FileInfo dataP
  • javascript:window.print() 打印 2 页,而我有 1 页

    我有一个简单的 HTML 文档 其中仅包含图像标签 我想在文档加载后打印图像 我的代码 img src form1 jpg alt form1 style margin 0 auto display block 它可以工作 但问题是它打印图

随机推荐

  • cocoapods 库的代码覆盖率 - iOS 单元测试

    在 Xcode 7 中 cocoapods 库的库具有排除代码覆盖率的功能 但在 Xcode 8 中 该库将包含代码覆盖率 我是否可以在代码覆盖率中排除该库 例子 安装 pod TPKeyboardAvoiding TPKeyboardAv
  • 如何在 React/Redux 中取消挂起的异步操作

    考虑以下情况 当用户导航到页面时 会调度两个异步 Redux 操作来并行获取两组相关数据 如果这些提取中的任何一个失败 组件都会检测到它 该组件将在下一个周期呈现错误组件 进而调度clearState安装时的动作 然而 其他操作仍有待解决
  • 检查 Java TCP 服务器上的客户端断开连接 - 仅输出

    我有一个 Java TCP 服务器 当客户端连接到它时 它每 30 秒向客户端输出一条消息 严格要求客户端不向服务器发送任何消息 并且服务器不向客户端发送除30秒间隔消息之外的任何数据 当我断开客户端连接时 服务器直到下次尝试写入客户端时才
  • 区分大小写的 URL

    我推出了一个小网站 我发现用户遇到错误 经过调查发现他们尝试使用的网址都是小写的 而我已将它们声明为驼峰式 我不知道为什么这些用户应该尝试使用所有小写字母 我无法想象有人会真正花时间进行更改 www mysite com myAction
  • '' aria-label='Dataframe 上的 Pandas 条件返回 TypeError: 'str' 和 'int' 实例之间不支持 '>''> Dataframe 上的 Pandas 条件返回 TypeError: 'str' 和 'int' 实例之间不支持 '>'

    我正在使用 pandas 处理 DataFrame 我需要根据某些条件添加一个新列 我的数据框是 discount tax total subtotal productid 3 0 20 13 002 10 3 106 94 003 46
  • 将 .NET 刻度转换为 SQL Server DateTime

    我正在保存一个TimeSpan 来自 NET 我的数据库中的值为BIGINT在 SQL Server 中 保存 Ticks 属性 我想知道如何转换这个BIGINT值对一个DATETIMESQL Server 中的值 不是 NET 中的值 有
  • 空手道框架的 JSON 报告

    如何在使用空手道框架时生成 JSON 报告 以便我可以使用黄瓜报告插件在 JENKINS 中使用它 我的空手道版本是 空手道 apache 0 8 0 空手道 junit4 0 8 0 你真的应该阅读文档 https github com
  • 使用 if() 在 dplyr 管道链中使用 select()

    已经阅读了这两篇文章 dplyr 包可以用于条件变异吗 R 使用管道运算符时的条件评估 gt 我正在使用 Shiny input selector 如果用户选择了特定值 我希望我的数据框与其他值不同 这是一条链 filtered funne
  • 显示消息等待...当后台处理发生时

    我想将消息显示为 请稍候 直到我的 java 代码完成一些处理 page1 jsp 我的表单 其中有文本框和提交按钮 当单击提交按钮时 我正在执行表单提交并调用 page2 jsp 在页面 2 jsp 中 我从页面 1 jsp 请求参数并传
  • 如何使用 Java 发出 multipart/form-data POST 请求?

    在 Apache Commons HttpClient 版本 3 x 时代 可以进行 multipart form data POST 请求 2004年的例子 不幸的是 这在以下情况下不再可能HttpClient 4 0 版本 对于我们的核
  • 列出 R 向量中的不同值

    如何列出向量中具有重复值的不同值 我的意思是 类似于下面的 SQL 语句 SELECT DISTINCT product code FROM data 你的意思是unique R gt x c 1 1 2 3 4 4 4 R gt x 1
  • Gulp.js 任务,返回 src?

    我是 gulp 的新手 一直在研究示例设置 有些人有以下结构 gulp task XXXX function gulp src 其他人有这个 gulp task XXXX function return gulp src 我想知道有什么区别
  • 使用 getImageData、javascript、HTML5 canvas 会导致内存泄漏吗

    我正在使用 canvas 元素 并尝试在 FIrefox 4 中使用 Javascript 对图像进行一些基于像素的操作 以下代码泄漏内存 我想知道是否有人可以帮助识别泄漏的内容 使用的图像是预加载的 一旦加载 到 pImages 数组中
  • 如何使用 spring-data-couchbase 为特定 Couchbase 文档设置 TTL?

    如何使用 spring data couchbase 为特定的 couchbase 文档设置 TTL 生存时间 我知道有一种方法可以使用文档符号设置到期时间 如下所示 Document 过期 10 http docs spring io s
  • IIS FTP 7.5 扩展性(IFtpLogProvider 并将 FTP 故障记录到事件日志中)

    任何非常熟悉 IIS 中 FTP 7 5 可扩展性的人都知道我可能做错了什么吗 我在使 IFtpLogProvider 的实现正常工作以进行自定义日志记录时遇到严重困难 我想做的就是将超出静态阈值的故障记录到事件日志中 并经常进行垃圾收集
  • Python:tarfile 流

    我想从 tarball 中读取一些文件并将其保存到新的 tarball 中 这是我写的代码 archive dum 2164 archive tar Read input data input tar tarfile open archiv
  • ASP.NET:将数据从内容页传递到母版页[重复]

    这个问题在这里已经有答案了 我有一个名为headerLabel在我的母版页中 我想将其文本设置为内容页面中的标题 我该怎么做呢 在您的主页上创建一个公共属性 类似于 public string LabelValue get return t
  • 如何在openGL中纹理随机凸四边形

    好吧 为了制作一个 我的世界 模组 我开始查找 openGL 教程 我对此仍然不太了解 因为我认为在进行我想要的小修改时我真的不应该这样做 但这让我很头疼 我想要做的就是能够将纹理正确映射到不规则的凹四边形 像这样 在尝试在游戏中运行代码之
  • chrome.filesystem 保存文件而不提示位置

    我可以将文件保存在自定义位置 home Users user1 带名字file1 txt 我有这个代码 chrome fileSystem chooseEntry type openDirectory function entry chro
  • 在 VB.net 中打印外部 PDF 文档

    我知道这个问题以前曾被问过 但我的情况有点不稳定 基本上 我正在尝试打印使用以前的 Windows 窗体生成的 PDF 文件 我可以毫无问题地找到该文件 并且我使用了从 MSDN 帮助论坛找到的以下代码 Dim p As New Syste