1

我已经在linux的本地环境中安装了王子xml。

连字符属性适用于泰米尔语的本地环境,当我将以下 css 代码添加到样式的王子源文件夹中的文件 hyph.css 中时。

:lang(ta) { 
    hyphens:auto;
    prince-hyphenate-patterns: url("../hyph/hyph-ta.pat"); 
}

并将所需的文件 hyph-ta.pat 复制到 Prince 源文件夹中的 hyph 文件夹。

  • 现在连字符在 Prince xml 在本地环境中生成的 html 内容的 pdf 中起作用。

  • 给王子 xml 的内容可以通过远程 url 给出,以便在本地生成。

  • 对于像 DocRaptor 这样的 Prince xml 的 API,我们无法访问 Prince 源文件来复制/编辑文件 hyph-ta.pat 和 hyph.css。

  • 对于 DocRaptor API,我将提供内容以通过 HTML 内容而不是远程 url 生成 pdf。

  • 因此,我在 html 内容的 style 属性中编写了上面的 css 代码,该属性将提供给 DocRaptor API。而如果我们将html内容中prince-hyphenate-patterns的属性值改为http资源url指向hyph-ta.pat文件

    :lang(ta) { 
      hyphens:auto;
      prince-hyphenate-patterns: url("http://../hyph-ta.pat"); 
    }
    

    连字符在生成的 pdf 中不起作用。

在 Docraptor API 中使用连字符是否需要任何其他要求?

每当我在 http 资源文件中给出属性“prince-hyphenate-patterns”时,连字符在本地环境和 DocRaptor API 中生成的 pdf 文档中都不起作用。

4

1 回答 1

1

DocRaptor 和 PrinceXML 的本地实例之间的主要区别在于 DocRaptor 的转换发生在我们自己的服务器外部。

这意味着虽然您的本地 PrinceXML 实例可以使用您的本地文件系统来访问 hyph-ta.pat,但 DocRaptor 不能。这里的解决方案是 hyph-ta.pat 必须从公共源链接,或者必须通过其他方式在外部可见。也就是说,不是 url 类似于“../hyph/hyph-ta.pat”,而是需要类似于“ https://hyph-pattern-source.com/hyph/hyph-ta. pat "(这只是一个示例格式,不是真正的 URL)。

让我知道这是否有助于回答您的问题。如果您需要其他任何东西,我们很乐意为您提供帮助!

最好的祝福,

乔恩(他将此回复转发给我)

DocRaptor 支持团队

于 2019-06-05T16:29:00.813 回答