Ghostscript.NET.dll 打印pdf到指定打印机

Posted

技术标签:

【中文标题】Ghostscript.NET.dll 打印pdf到指定打印机【英文标题】:Ghostscript.NET.dll print pdf to specified printer 【发布时间】:2015-02-03 13:42:14 【问题描述】:

如何使用 ghostscript api 打印 pdf。 我尝试了谷歌,但仍然没有得到正确的解决方案。请帮助我如何完成这项任务。

【问题讨论】:

你的谷歌搜索不够。 ***.com/questions/21462247/… |如果需要,可以使用此转换器:codeconverter.sharpdevelop.net/SnippetConverter.aspx ghostscriptnet.codeplex.com/discussions/574516 | ghostscriptnet.codeplex.com/discussions/470946 @Visual Vincent 以上所有示例都是将 pdf 转换为图像。我想直接打印 pdf 到打印机。 【参考方案1】:

这应该对你有用(通过使用Ghostscript.NET 包装器):

using System;
using System.Collections.Generic;
using Ghostscript.NET.Processor;

namespace Ghostscript.NET.Samples

    public class SendToPrinterSample : ISample
    
        public void Start()
        
            // YOU NEED TO HAVE ADMINISTRATOR RIGHTS TO RUN THIS CODE

            string printerName = "YourPrinterName";
            string inputFile = @"E:\__test_data\test.pdf";

            using (GhostscriptProcessor processor = new GhostscriptProcessor())
            
                List<string> switches = new List<string>();
                switches.Add("-empty");
                switches.Add("-dPrinted");
                switches.Add("-dBATCH");
                switches.Add("-dNOPAUSE");
                switches.Add("-dNOSAFER");
                switches.Add("-dNumCopies=1");
                switches.Add("-sDEVICE=mswinpr2");
                switches.Add("-sOutputFile=%printer%" + printerName);
                switches.Add("-f");
                switches.Add(inputFile);

                processor.StartProcessing(switches.ToArray(), null);
            
        
    

【讨论】:

我在没有安装幽灵脚本的情况下尝试了以下建议的链接代码。我尝试使用 gsdll32.dll 程序集二进制文件和 GhostscriptVersionInfo。 link 请帮助我如何使用本机 dll 和托管程序集。 当打印机移除它时 processor.StartProcessing(switches.ToArray(), null);方法卡住了

以上是关于Ghostscript.NET.dll 打印pdf到指定打印机的主要内容,如果未能解决你的问题,请参考以下文章

pdf如何解除权限进行打印

pdf文件不大但打印时非常大,打印很慢,如何解决

怎么将pdf设置为不能打印出来

如何打印下载的PDF格式的电子书

怎么用PDF虚拟打印机给PDF添加背景

pdf文件不大但打印时非常大,打印很慢,如何解决