Проблемы генерации PDF в Railo

Я относительно новичок в Railo. Пытаясь настроить приложение на "Railo", я столкнулся с проблемой генерации PDF. Обратите внимание, что я без проблем запускаю приложение на сервере Adobe CFML.

Проблема: где-то в моем приложении у меня есть кнопка, которая выбирает данные из базы данных и предоставляет загружаемый файл PDF. На сервере Railo содержимое PDF возвращается с "забавными персонажами". Выходной язык - греческий. Греческий язык имеет много акцентированных символов. И именно здесь возникает проблема (акцентированные символы возвращаются в "смешном" формате, например, Ÿ для ή или Š для O или OΕ 'для Ά). Я думаю, что проблема связана с коллекцией шрифтов Railo. То же самое проявляется на сервере openBD! Я уже пытался добавить cfprocessingdirective pageEncoding="utf-8" в файл cfm безрезультатно. Я попытался добавить шрифты в fonts.jar (это находится в папке \WEB-INF\lib), но безрезультатно (и вызов шрифтов в PDF CSS).

Я больше не хочу использовать Adobe CFML Server.

Есть ли решение по этому вопросу?

Спасибо заранее,

Том

Греция

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>

2 ответа

Убедитесь, что вы также добавляете <cfprocessingdirective pageencoding="utf-8"> сразу после <cfcomponent> в вашем CFC.

Railo отличается в некоторых отношениях. Очень важно, чтобы файл CFC / CFM, который генерирует PDF-файл, также сохранялся в формате Unicode.

Я рекомендую перейти в File > New в вашем редакторе и убедиться, что редактор позволяет вам определить спецификацию и кодировку до создания файла.

Затем скопируйте / вставьте код в новый файл и перезапишите файл.

Если вы делаете это, оно должно работать.

Звучит странно... но попробуйте. Это исправило мои приложения UTF-8 на Railo много раз.

Dreamweaver, хотя я больше этим не пользуюсь, позволял определять эти параметры при создании файла. Вы также можете установить их в настройках для всех будущих документов.панель настроек Dreamweaver

На SublimeText 2 вы можете сохранить файл с кодировкой и спецификацией.сублиметекст сохранить как закодированный

В ColdFusion Builder точно не известно, где находятся настройки спецификации, но здесь есть проблема с настройками, обеспечивающая кодировку по умолчанию UTF-8.Панель настроек Coldfusion Builder

Я надеюсь, что это поможет вам и другим людям, имеющим аналогичные проблемы. ПОМНИТЕ: Если вы работаете с UTF-8 / Railo, вы должны убедиться, что КАЖДЫЙ АСПЕКТ взаимодействий также сохраняется с учетом UTF-8. Включая сами файлы cfc/cfm.

Удачи!

Другие вопросы по тегам