3

Railoは比較的新しいです。「Railo」でアプリケーションをセットアップしようとすると、PDFの生成で問題が発生しました。AdobeCFMLServerでアプリを問題なく実行していることに注意してください。

問題:アプリのどこかに、データベースからデータをフェッチしてダウンロード可能なPDFファイルを提供するボタンがあります。Railoサーバーでは、PDFコンテンツは「面白い文字」で返されます。出力言語はギリシャ語です。ギリシャ語には多くのアクセント文字があります。ここで問題が発生します(アクセント付き文字は「面白い」形式で返されます。たとえば、ήの場合はŸ、Oの場合はŠ、Άの場合はOΕ')。問題はRailoのフォントコレクションに関連していると思います。同じことがopenBDサーバーにも現れます!すでにcfprocessingdirectivepageEncoding= "utf-8"をcfmファイルに追加しようとしましたが、結果はありません。fonts.jar(これは\ WEB-INF \ libフォルダーの下にあります)にフォントを追加しようとしましたが、結果もありません(PDF cssでフォントを呼び出します)。

AdobeCFMLServerはもう使いたくありません。

この問題の解決策はありますか?

よろしくお願いします。

トム

ギリシャ

cfcはデータベースからのデータを提供するだけです

私が使用しているコード:

<cfprocessingdirective pageEncoding="utf-8">
<cfif not IsDefined("URL.id")>
    <cfelseif not IsDefined("URL.model")>
    <cfelseif not IsDefined("URL.title")>
    <cfelseif not IsDefined("URL.id_tree")>
</cfif>
<cfheader name="Content-Disposition" value="attachment; filename=#URL.id_tree#.pdf">
<cfcontent type="application/unknown; charset=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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!---<link rel="stylesheet" type="text/css" href="resources/fonts/MinionProRegular/MinionProRegular.css" charset="utf-8" />--->
<title>Print</title>

</head>

<body>

  <!---<cfif not IsDefined("URL.id")>
      <cfelseif not IsDefined("URL.model")>
  </cfif>--->

  <!--- Get print details --->
  <cfinvoke
    component="Print"
    method="myPrint"
    returnvariable="getContent"
    id="#URL.id#" 
    model="#URL.model#">

  <!---<cfdump var="#getMember#">--->

  <!--- Output the PDF --->
  <cfdocument 
    format="pdf"
    pagetype="a4"
    <!---pageheight="5"
    pagewidth="6.5"--->
    margintop="0.6"
    marginbottom="0.8"
    marginright="1.3"
    marginleft="1"
    scale="90"
    unit="in"
    fontembed="true"
    backgroundvisible="true">

    <cfoutput query="getContent" >
    <style type="text/css">
      .logo {
          background-image:url(../../images/app-specific/ithemis_logo_NEW.png);
          background-repeat: no-repeat;
          display: inline-block;
          float: left;
          clear: right;
      }
      .name {
          font-family: Georgia, "Times New Roman", Times, serif;
          font-size: 12px;
          color: ##5a5a5a;
          <!---float: left;
          clear: right;--->
          <!---margin-top: 5px;--->
      }
      .body {
          font-family: "Times New Roman", Times, serif;

          <!---font-family: Bodoni;--->
          <!---font-family: Didot;--->
          <!---font-family: Greek;--->
          <!---font-family: Geosanslight;--->
          <!---font-family: Minionpro_regular;--->
          <!---font-family: Philosopher;--->
          <!---font-family: Russian;--->

          font-size: 11px;
          color: ##323232;
          line-height: 17px;
          <!---float: left;
          clear: right;--->
      }
      .line {
          font-size:1px;
          border-bottom-width: 1px;
          border-bottom-style: solid;
          border-bottom-color: ##202020;
          padding-bottom: 5px;
      }
      .point {
          font-family: Georgia, "Times New Roman", Times, serif;
          font-size: 11px;
          padding: 5px 5px 5px 5px;
          color: ##373737;
          background-color: ##eeeeee;
          /*width: 100% !important;*/
          display: block !important;
          text-align: justify;
      }
    </style>

      <!---<cfprocessingdirective pageencoding="utf-8">--->
      <cfdocumentitem type="header">
            <img src="../../images/app-specific/ithemis_logo_print_pdf.png" alt="iThemis logo" width="80" height="30" style="float:left;" border="0"/>
      </cfdocumentitem>
       <!---Use a footer with current page of totalpages format. --->
      <cfdocumentitem type="footer">
        <cfoutput><span style="font-family:Georgia, 'Times New Roman', Times, serif;font-size:10px;color: ##5a5a5a;float:right;">Σελίδα #cfdocument.currentpagenumber# από #cfdocument.totalpagecount#</span></cfoutput>
      </cfdocumentitem>


      <table border="0"> 

        <tr> 
            <td><span class="name">#Title#</span></td> 
        </tr>

        <tr> 
            <td><span class="body">#Body#</span></td>
        </tr> 

    </table>

    </cfoutput>
  </cfdocument>

</body>
</html>
4

2 に答える 2

0

CFCの の<cfprocessingdirective pageencoding="utf-8">直後に も追加してください。<cfcomponent>

于 2013-11-18T18:52:00.627 に答える
0

Railo はいくつかの点で異なります。PDF を生成する CFC / CFM ファイルも Unicode 形式で保存することが非常に重要です。

エディターで [ファイル] > [新規] に移動し、ファイルを作成する前にエディターで BOM とエンコーディングを定義できることを確認することをお勧めします。

次に、コードをコピーして新しいファイルに貼り付け、ファイルを上書きします。

これを行うと、うまくいくはずです。

奇妙に聞こえますが、試してみてください。Railoで何度もUTF-8アプリを修正しました。

Dreamweaver は、もう使用していませんが、ファイルの作成時にこれらの設定を定義することができました。今後のすべてのドキュメントの設定でそれらを設定することもできます。 Dreamweaver の環境設定パネル

SublimeText 2 では、エンコーディングと BOM を使用してファイルを保存できます。 サブライムテキストをエンコードして保存

ColdFusion Builder では、BOM 設定がどこにあるか正確にはわかりませんが、デフォルトのエンコーディングが UTF-8 に設定されていることを確認するための環境設定の問題があります。 coldfusion ビルダーの設定ペイン

これがあなたと同様の問題を抱えている他の人の助けになることを願っています. 覚えておいてください: UTF-8 / Railo を使用している場合は、インタラクションのすべての側面が UTF-8 を念頭に置いて保存されていることを確認する必要があります。cfc/cfm ファイル自体を含めます。

幸運を!

于 2013-02-25T14:15:02.287 に答える