Люси cfdocument / cfpdf работает с нижними колонтитулами - PullRequest
0 голосов
/ 02 апреля 2020

Я недавно начал работать с <cfdocument> в Lucee 5.3.4.80. Я заметил, что если я использую этот код:

<cfdocument name="test" filename="test.pdf" overwrite="true" format="pdf" pagetype="A4" orientation="portrait" fontembed="true" unit="cm" localUrl="true" margin=2.5>
  Lorem ipsum

  <cfdocumentitem type="footer" evalAtPrint="true">
    <cfoutput>
      #cfdocument.currentPageNumber#                              <!--- outputs 1 --->
      #cfdocument.totalPageCount#</cfoutput>                      <!--- outputs 1 --->
      #cfdocument.currentPageNumber eq cfdocument.totalPageCount# <!--- fails --->
    </cfoutput> 
  </cfdocumentitem>

</cfdocument>

, то условие if всегда не выполняется. Я могу привести к числу / строке или к чему-либо, это всегда терпит неудачу. Идея состоит в том, что я могу создать условный нижний колонтитул, поэтому, если я наберу:

  <cfdocumentitem type="footer" evalAtPrint="true">
    <cfif cfdocument.currentPageNumber eq 1>
      <p>Hi</p>
    <cfelse>
      <p>#cfdocument.currentPageNumber# of #cfdocument.totalPagesCount#</p>
  </cfdocumentitem>

Я думаю, что проблема в параметре evalAtPrint, который, кажется, не работает должным образом.

Чтобы обойти эту проблему Я думал, что смогу добавить нижние колонтитулы после того, как создал PDF, потому что я мог правильно обращаться к страницам.

  <cfpdf
    action="addFooter"
    source="test"
    pages="1"
    text="Test"
  >

Что, кажется, работает нормально, но теперь я хочу использовать форматированный текст, поэтому я сохраняю HTML в переменной <cfsavecontent> и попробуйте передать ее текстовому атрибуту.

<cfsavecontent variable="text">
  <p style="color: green">Hi</p>
</cfsavecontent>

<cfpdf
  action="addFooter"
  source="test"
  pages="1"
  text="#text#"
>

А теперь нижний колонтитул пуст и ничего не отображается. Если я выведу переменную <cfsavecontent> в html, она будет работать нормально.

У кого-нибудь есть другое решение для создания условных нижних колонтитулов, помимо простого обновления lucee?

Редактировать: протестировал первый случай с более новой версией Lucee (5.3.5.92) и там evalAtPrint, кажется, работает нормально.

...