【问题标题】:Second call to dinktopdf pdf library fails第二次调用 dinktopdf pdf 库失败
【发布时间】:2023-02-24 02:23:46
【问题描述】:

我正在开发基于 asp.core/Razor (.net core 6) 的发票应用程序。我在应用程序中有一个用于创建发票的表格。用户填写所有必填字段后,他可以打开一个显示发票预览的模式。如果他对它的外观感到满意,他可以确认他想要将其保存为 pdf。

保存时,我有一个 jquery 函数,它对 razor 页面的 OnPost 函数进行 ajax 调用。

Onpost 函数将表单数据传递给创建 pdf 文档并对其进行签名的 C# 函数。在第一次尝试时它工作,但在第二次尝试时该过程只是挂起。我没有收到任何错误或异常

编辑:在 c# 方法上,我将 html 转换为 pdf,似乎在将 html 字符串转换为 pdf 字节的过程中进程卡住了

【问题讨论】:

  • 检查是否有任何缺少等待的异步。这可能会导致事情“挂起”。否则听起来 pdf 创建组件没有正常退出。
  • 您能否分享有关您的代码的更多详细信息?

标签: c# jquery asp.net-core dinktopdf


【解决方案1】:

编辑: 我能够解决这个问题。问题的根源是我使用的名为 dinktopdf 的 html 到 pdf 库。 github中提到了我遇到的问题:

https://github.com/rdvojmoc/DinkToPdf/issues/62

我对那里提到的解决方案感到不满并且它有效:

删除var converter = new SynchronizedConverter(new PdfTools());,并在您的服务中用“IConverter”的依赖注入替换它:private readonly IConverter _converter; public NameOfModel (IConverter converter){this._converter = converter;}

感谢大家的帮助。

【讨论】:

  • 您能否总结解决方案并将其包含在此处?如果其他人正在使用相同的库并遇到相同的问题,但第 3 方链接会随着时间的推移而失效,则可能会有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 2021-04-02
  • 2010-12-21
  • 1970-01-01
  • 1970-01-01
  • 2012-05-25
相关资源
最近更新 更多