How can I display “$£Ω€απ⅔” in Jasperserver PDF us

2020-01-22 18:40发布

问题:

I've hardcoded a Text field with the value

 ":$£Ω€απ⅔:" 

to test if these characters will show in PDF

But it only prints as

:$£€:

I've tried changing the font to "Symbol" but that does not do the trick.

Note: I'm using iReport 5.5

回答1:

I tried your characters using font-extensions in iReport, These are the steps that I took

  1. Download (or use one on your pc) your desired ttf font (it need to support the characters), I used dejavu-serif.
  2. Install the font in iReport or in Jasper soft studio (click links to understand how)

    • I used iReport 5.6 and did set the PDF-Encoding: Idenity-H (unicode with horizontal writing) and embedded the font in pdf. This was the code of my textField

      <textField>
          <reportElement x="8" y="15" width="100" height="20" uuid="41dc1200-091f-4799-a1d2-4622f88a0e84"/>
          <textElement>
              <font fontName="DejaVu Serif" size="13"/>
          </textElement>
          <textFieldExpression><![CDATA[":$£Ω€απ⅔:"]]></textFieldExpression>
      </textField>
      
  3. Export the font extension (this creates a .jar)

  4. Add the jar to your classpath.
  5. Export to pdf and enjoy the result.

This is an example of how to use any arbitrary font, if you like to use DejaVu Sans or DejaVu Serif you can just include the jasper report fonts library in classpath, hence these font are already included and mapped in library



回答2:

I had posted a similar question and the above technique solved my problem, until one fine day I restarted the JasperServer context. I was now getting "PDF encoding not found" error when I tried to export the report to pdf.

To solve this problem I had to copy the iText-Asian.jar and Font-extension.jar in the lib folder of the jasperserver context. "jasperserver/WEB-INF/lib". Once done restart the context and problem solved.

Hope it helps someone.