Pdf转成png时,出现 System.NullReferenceException

示例代码如下:

Document pdfDocument = new Document(“d:\test1.pdf”);

FileStream imageStream = new FileStream(“d:\test1.png”, FileMode.Create);

ImageDevice outImageDevice = new PngDevice();

RenderingOptions options = outImageDevice.RenderingOptions;

options.ConvertFontsToUnicodeTTF = true;

outImageDevice.Process(pdfDocument.Pages[1], imageStream);

imageStream.Close();

附件是对应的pdf文件。

如果把以上代码改成下面的代码,转出来的图片,一些文字被渲染成方框了

Document pdfDocument = new Document(“d:\test1.pdf”);

FileStream imageStream = new FileStream(“d:\test1.png”, FileMode.Create);

ImageDevice outImageDevice = new PngDevice();

outImageDevice.Process(pdfDocument.Pages[1], imageStream);

imageStream.Close();

请问该如何解决以上问题test1.pdf (176.5 KB)

@arlpan2000

由于缺少字体,某些文本呈现为框。 请尝试安装所需的字体,以免文本出现乱码。

我们的软件是给很多个人用户使用的。我们可以在软件的安装包里带上需要的字体。能否通过aspose.pdf .net sdk的某个api来告知这些字体的存放路径?

@arlpan2000

您可以使用 OpenFont 方法加载任何字体。 让我们知道您的反馈。

我用renderingOptions.DefaultFontName = fontName;指定了一个默认字体名称后,就可以正常转换了

@arlpan2000

很高兴知道您的问题在指定字体后已解决。