【发布时间】:2016-05-04 07:21:59
【问题描述】:
我正在使用 Amyuni PDF Creator .Net 通过 Windows 服务打印 PDF。
Windows 服务正在本地系统用户帐户下运行。当我尝试使用上述库打印时,它以错误的字体打印 PDF。见附件(Wrong font in PDF printing)。
只有部分打印机存在此问题,例如 Brother MFC-8890DW 打印机。
但是对于具有上述windows服务的同一台打印机,当取消选中上述打印机属性中的启用高级打印功能设置时,它可以正确打印PDF。见附件(Disable Advanced printing features)。
using (FileStream file1 = new FileStream(pdfFile, FileMode.Open, FileAccess.Read))
{
using (IacDocument doc1 = new IacDocument())
{
doc1.Open(file1, string.Empty);
doc1.Copies = 1;
bool printed = doc1.Print(printer, false);
}
}
但相同的 Windows 服务可以为 HP LaserJet P1005 等其他一些打印机正确打印 PDF,无论是启用高级打印功能选中还是未选中。
【问题讨论】:
-
您能否发布一个指向您以这种方式创建的公开 PDF 的链接?至少我们可以验证它的字体处理是否有什么奇怪的地方。如果做不到这一点,我会将其记为打印机驱动程序试图变得太聪明,例如,通过尝试在本地缓存字体。
-
能否请您下载同样由 AmyuniPDF 创建者创建的 PDF 文件。 dropbox.com/s/6wwe51ro7ie7j8g/129666_OTQ.pdf?dl=0
-
是的,它使用其他打印应用程序打印。这里的问题是在 Local System 用户下使用 Windows 服务 打印时。我们正在使用 Amyuni 5.0。感谢您调查此问题。
-
当我使用 Spire.PDF 库进行测试时,使用上述 Windows 服务和上述打印机正确打印了相同的 PDF。 nuget.org/packages/Spire.PDFAmyuni PDF打印引擎有问题吗?