我一直在使用PDFsharp将两个PDF合并到一个文档中然后打印出来。这似乎在大多数情况下工作正常,但是无论何时它处于高负荷(甚至同时发出4个POST请求),一些打印页面都是空白的。这是PDFsharp的已知问题,如果是,是否有人有修复?
我在测试什么?
我正在尝试以双面打印3页作为1个请求的一部分,并且已经测试了4个同时呼叫。所以,我总共有12页。
结果
我将一半的页面留空(所以5-6页)。
我做了另一个测试 - 之前我做了另一个测试,我做了100个请求(所以打印100 * 3 = 300页),所有页面都很好。然而,有了这个,我正在发出1个请求,等待它完成,一旦它完成,然后再发出另一个请求。这似乎表明,当以异步方式使用时,PDFsharp无法正确打印文档。但是,作为我的应用程序的一部分,我必须进行异步请求,因此等待1个请求完成不是一个选项。
PS - 我使用的是最新的PDFsharp版本1.32
生成的(连接的)PDF很好,其中没有空白页。只有当它们被打印出来然后我才得到一些空白页面。
答案 0 :(得分:2)
PDFsharp根本不打印PDF文件。因此,如果在重负载下打印失败,就不能责怪PDFsharp。
AFAIK PDFsharp不是线程安全的(就像大多数库一样)。如果同时操作多个PDF文件,则必须使用不同的线程 - 每个PDF文件一个线程。
您最有可能使用Adobe Reader打印PDF文件。您可能必须序列化对Adobe Reader的调用。