迁移到.NET Core 2.1之后,Sautinsoft PdfFocus异常

时间:2018-06-21 13:28:50

标签: c# asp.net-core .net-core pdffocus

我有购买的DLL许可证(6.9.4.10),我的*.csproj包含以下内容:

<ItemGroup>
  <PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0"/>
  ...
  <PackageReference Include="System.IO.Packaging" Version="4.5.0"/>
  <PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.0"/>
  <PackageReference Include="ZKWeb.System.Drawing" Version="4.0.0"/>
</ItemGroup>
...
<ItemGroup>
  <Reference Include="SautinSoft.PdfFocus">
    <HintPath>..\PDF Focus .Net Full (6.9.4.10)\DLLs\Net Core 2.0\SautinSoft.PdfFocus.dll</HintPath>
  </Reference>
</ItemGroup>

我正在尝试将PDF转换为DOCX文件(在.NET 4.5中有效)。

这是代码的相关部分:

....
SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
f.Serial = Settings.GetAppSetting("PdfFocusSerial", "**MySerial**");
f.OpenPdf(buffer);

if (f.PageCount > 0)
{
    f.WordOptions.Format = SautinSoft.PdfFocus.CWordOptions.eWordDocument.Docx;

    var result = f.ToWord(); //f.Exception set after this
    ...
}
...

我检查了是否发送了与旧代码相同的buffer,但是输出相差一些字节。我在f.Exception中设置了一个异常,即:

{System.Collections.Generic.KeyNotFoundException:
The given key '0' was not present in the dictionary. ...

当我尝试打开新创建的*.docx文件时,Word说它已损坏。单击某些对话框后,它仍然可以打开文件。

有人有什么想法吗?

.Net Core 2.1中此库的已知错误吗? (他们的网站上仅提及2.0)

我还尝试了在NuGet上发布的免费版本,结果相同。

编辑

这确实是.NET Core特定版本中的错误。他们已在6.9.6.29版中对此进行了修复。

1 个答案:

答案 0 :(得分:1)

我的名字叫Dmitry,我在SautinSoft工作。 谢谢您的问题。你是对的。我们在使用PDF Focus.Net和Net Core 2.1时遇到了一些问题 我们的开发人员试图解决此问题。我们发现了错误(资源/字体)在哪里,我希望我们会尽快准备一个新版本。 我会通知你。