We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Aspose.HTML [epub to pdf 转换后全部乱码]

epub文件.zip (5.4 MB)

//转换代码如下 文件已经附上
转换后的pdf文件内容文字全部乱码
Aspose.HTML.dll
22.9.0.0
C#版本
var stream = File.OpenRead(“123.epub”);
PdfSaveOptions pdfOptions = new PdfSaveOptions();
Converter.ConvertEPUB(stream, pdfOptions, “123.pdf”);
转换后pdf文件截图如下:
image.png (59.3 KB)

@ywapple

我们在问题跟踪系统中将问题记录为 HTMLNET-4086。我们将进一步调查其详细信息,并随时向您发布其更正状态。请耐心等待,给我们一些时间。

对此造成的不便,我们表示歉意。

fr.zip (227.2 KB)

法语也有乱码 附上法语文件

@ywapple

该文件也已附在调查单上。票证解决后,我们会通知您。

@ywapple

我检查了所提供文件的转换,它工作正常。我附上了其中一页的屏幕截图(converted.png)。您的计算机似乎没有转换这些文档所需的字体。您可以使用以下代码段设置自定义字体文件夹:

var stream = File.OpenRead("123.epub");
var config = new Configuration();
config.GetService<IUserAgentService>().FontsSettings.SetFontsLookupFolder("customFontFolder");
PdfSaveOptions pdfOptions = new PdfSaveOptions();
Converter.ConvertEPUB(stream, config, pdfOptions, "123.pdf");

converted.png (98.9 KB)

如果没有这些字体 我可以自己指定默认字体么?请问怎么做呢?

@ywapple

从这个角度进行调查后,我们会尽快回复您。

@ywapple

Aspose.HTML 不包含字体。默认情况下,程序集使用位于“windows/fonts”文件夹中的字体来绘制字符。如果此文件夹不包含包含所需符号的字体,则程序集将无法绘制它。您可以使用前面提供的代码片段指定不同的字体文件夹。或者,您可以使用以下代码片段来指定将使用哪些字体来绘制在“windows/fonts”文件夹中找不到合适字体的字符:

var stream = File.OpenRead("123.epub");
var config = new Configuration();
config.GetService<IUserAgentService>().FontsSettings.FontMatcher = new CustomFontMatcher();
PdfSaveOptions pdfOptions = new PdfSaveOptions();
Converter.ConvertEPUB(stream, config, pdfOptions, "123.pdf");

class CustomFontMatcher : FontMatcher
{
    private readonly byte[] font;

    public CustomFontMatcher()
    {
        font = File.ReadAllBytes("font.ttf");
    }

    public override byte[] MatchFontFallback(FontMatchingProperties fontMatchingProperties, uint charCode)
    {
        return font;
    }
}

有一个疑问 我的epub打开浏览都是正常的,那应该是字体存在的把,
为什么转换就说没有字体呢?

@ywapple

EPUB 查看器可能对字体有不同的操作和处理机制。他们可以使用嵌入字体正确显示 EPUB 文件。但是,这取决于他们如何对待和选择使用嵌入其中的字体来显示它。 Aspose.HTML 在读取 EPUB 文件后有不同的查找字体的机制。它在本地系统中查找字体以使用它们并转换 EPUB 文档。

@ywapple

发生这种情况的原因有多种:

使用不在“windows/fonts”文件夹中的字体呈现文本。用于打开 epub 文档的程序可能有自己的内置字体,或者使用安装在操作系统其他地方的字体。
用于显示文本的字体是 Aspose.HTML for .NET 未知的格式。
我们需要更多信息来定位问题。

你使用什么操作系统,它是什么版本?
您使用什么程序打开 ePub 文档?
能否提供一段Aspose.HTML显示错误的文字,以及他用来打开ePab文档的程序如何显示这段文字的截图?