使用cfdocument以PDF格式呈现组合字体(日语和英语)的问题

时间:2013-12-16 11:19:28

标签: pdf coldfusion fonts font-face cfdocument

我在“联合字体”(日语和英语)方面遇到了大麻烦。

我必须从HTML内容创建一个PDF文档,该文档显示在我的网站上。为此,我使用了<cfdocument>并从HTML内容中实现了PDF。但我的内容包括日语和日语。英文内容,在创建的PDF中以不同的字体显示,而不是我网站上的内容。问题仅发生在日本和日本的组合情况下。英文部分。

要求是:

  • 对于英文内容,字体应为Verdana。
  • 对于日语内容,字体应为Simson。

我已经实现了与韩语,中文,法语相同的功能。

为了输出特殊字符,我在代码上方添加了<cfprocessingDirective pageEncoding="utf-8">。但我仍然用英文和日文的内容得到奇怪的字体。

我试过的代码如下,

        <cfcontent type="application/pdf">
        <cfheader name="Content-Disposition" value="attachment;filename=test.pdf">
        <cfprocessingdirective pageencoding="utf-8">
        <cfdocument format="PDF" localurl="yes" marginTop=".25" marginLeft=".25" marginRight=".25" marginBottom=".25" pageType="custom" pageWidth="8.5" pageHeight="10.2">
        <cfoutput>
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
         <title>PDF Export Example</title>
         <style>
          body { font-family: Verdana; }
          h1 { font-size: 14px; }
          p { font-size: 12px; line-height: 1.25em; margin-left:20px;}
           </style>
        </head>
        <body>
        <h1>PDF Export Example Combined Japanese & English</h1>
        <p>This is an japanese with english example 
        日本人は単純な音素配列論で膠着、モーラ·タイミングの言語、純粋な母音システム、
        音素の母音と子音の長さ、および語彙的に重要なピッチアクセント。語順は通常、粒子が言葉の文法的機能をマ
        ーキング対象オブジェクトと動詞であり、文の構造は、トピック·コメントです。文末粒子は、感情的または強調の影響を追加したり、
        質問を作るために使用されます。名詞は文法的に番号や性別を持たず、何の記事はありません。動詞は主に緊張し、音声ではなく、
        人のために、コンジュゲートされる。形容詞の日本の同等物は、また、結合している。日本人は動詞の形や語彙、話者の相対的な地位、
        リスナーおよび掲げる者を示すと敬語の複雑なシステムを持っています。This is an example.
        </p>
        <h1>PDF Export English Example</h1>
        <p>This is an example.
        </p>
        </body>
        </html>
        </cfoutput>
        </cfdocument>

我还应该怎么做才能解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:0)

根据我的研究结果,我发现日语内容的英文PDF样式呈现存在问题。

所以我终于找到了解决方案,

  1. 在日语和英语单词之间留出空格。
  2. 迭代整个字符串(list带空格分隔符)
  3. 然后可以通过Regular expression
  4. 区分英语单词和日语单词
  5. 通过span(或任何)标记包装英语单词的单独样式。
  6. 我不知道这是否是解决此问题的正确方法。这就是我为解决这个问题所做的工作。