我正在尝试将HTML转换为PDF。
我已经检查了PDFSharp和ITextSharp,它们看起来都不太复杂,但有一个可执行文件wkhtmltopdf似乎到目前为止有最好的评论。
我想将wkhtmltopdf控制台应用程序用作库。
我可以想象这种情况以不同的格式发生,但找不到任何足够具体的解决方案。
现有的C#wkhtmltopdf包装库,但在部署和应用程序挂起方面存在问题。
只需要一个调用我需要传递此.exe文件,如:
wkhtmltopdf.exe "www.adsf.com" convertedPdfOfAsdf.pdf
我想创建一个可以旋转线程的库:
我之前没有尝试过这样的事情,所以不确定这是否是解决问题的最佳方法,但肯定有可重复的解决方案。
PS。我的解决方案必须是线程安全的。它将作为Web应用程序运行。
答案 0 :(得分:0)
听起来你正朝着DLL地狱迈进。虽然您提出的解决方案会在实例之间提供分离,但它很快就会迫使您陷入需要处理Unable to cast X to X
例外的情况。
我建议锁定对底层库的访问,并强制您的应用程序等待,或者考虑在多个AppDomains中以线性方式执行相同的代码。
答案 1 :(得分:0)
对于一个站点,我使用ConcurrentQueue
这是一个线程安全的数据结构,以便在我的消费者弹出下一个要处理的东西时更容易添加到队列中。
您可以在此处查看问题中的示例:
所以只需让上传返回javascript的唯一ID。
javascript然后查询网络服务器以查看文件是否已被处理,在此之前它将让用户知道状态(例如,可能有多少记录在前面)。
根据网站的制作方式,采用哪种技术,这可能是一种更简单的方法。