iTextSharp打印可变长度文档

时间:2012-10-29 19:48:40

标签: c# printing report itextsharp

在尝试了尽可能多的可能性而没有成功的结果之后,这是关于iTextsharp组件的问题。 我要求创建一张票据,我决定使用 iTextSharp库

我在java&上使用过这个库。具有固定长度文档的.net项目没有问题,但在这种情况下文档是可变长度的。该文档创建完美,并与规范相关。创建PDF后,我使用System.Diagnostics.Process和动词“ PrintTo ”将其发送到打印机。由于票证的长度可变性,在打印机上设置固定的纸张长度是不够的,因此我使用以下行指示打印机采用文档大小(相应地使用Manning iText in Action 2nd Edition ,第140页)但它似乎无法正常运作。

writer.AddViewerPreference(PdfName.PICKTRAYBYPDFSIZE, new PdfBoolean(true));

有关如何将文档发送到打印机以指示打印机将纸张尺寸调整为文档大小的任何想法?

提前致谢,

1 个答案:

答案 0 :(得分:0)

通过使用GhostScript(GHS)和mswinpr2作为打印设备,我们能够打印到几乎所有为操作系统(Windows)识别的打印机。

要调整纸张大小,必须在调用GHS命令行实用程序(gswin32c)时设置以下参数:

  
      
  • dFIXEDMEDIA
  •   
  • dDEVICEWIDTHPOINTS = value
  •   
  • dDEVICEHEIGHTPOINTS = value
  •   
  • sOutputFile =“%printer%PRINTER_NAME”
  •