You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Tilman Hausherr (JIRA)" <ji...@apache.org> on 2016/09/19 17:57:20 UTC

[jira] [Commented] (PDFBOX-3504) Special characters issue

    [ https://issues.apache.org/jira/browse/PDFBOX-3504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15504153#comment-15504153 ] 

Tilman Hausherr commented on PDFBOX-3504:
-----------------------------------------

The problem is that the alpha is not part of the "Latin Character Set and Encodings" set that is used for HELVETICA glyphs.

This code works:
{code}
        PDType0Font font5 = PDType0Font.load(document, new File("c:/windows/fonts/arial.ttf"));
        stream.setFont(font5, 12);
        stream.newLine();
        stream.showText("α");
{code}

However you may have found a bug anyway. "Alpha" is part of the "Symbol Set and Encoding" that is used for the SYMBOL font, but I didn't get that to work. So I won't close this for now :-)

> Special characters issue
> ------------------------
>
>                 Key: PDFBOX-3504
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3504
>             Project: PDFBox
>          Issue Type: Bug
>          Components: FontBox
>    Affects Versions: 2.0.0
>         Environment: Test
>            Reporter: KUMARA SWAMY PALLUKURI
>              Labels: newbie
>
> special characters are not supporting in my program  
> eg: "α"(alpha)
> My sample code:
> {code}
> package com.test;
> import java.io.IOException;
> import java.util.ArrayList;
> import java.util.List;
> import org.apache.pdfbox.pdmodel.PDDocument;
> import org.apache.pdfbox.pdmodel.PDPage;
> import org.apache.pdfbox.pdmodel.PDPageContentStream;
> import org.apache.pdfbox.pdmodel.common.PDRectangle;
> import org.apache.pdfbox.pdmodel.font.PDFont;
> import org.apache.pdfbox.pdmodel.font.PDType1Font;
> public class SimpleTest {
> 	public static void main(String[] args) throws Exception {
> 		SimpleTest s = new SimpleTest();
> 		s.pdfGeneration();
> 	}
> 	public void pdfGeneration() throws IOException {
> 		String outputFileName = "Simple123.pdf";
> 		// Create a document and add a page to it
> 		PDDocument document = new PDDocument();
> 		PDPage page1 = new PDPage(PDRectangle.A4);
> 		// PDRectangle.LETTER and others are also possible
> 		PDRectangle rect = page1.getMediaBox();
> 		// rect can be used to get the page width and height
> 		document.addPage(page1);
> 		// Create a new font object selecting one of the PDF base fonts
> 		PDFont fontPlain = PDType1Font.HELVETICA;
> 		PDFont fontBold = PDType1Font.HELVETICA_BOLD;
> 		PDFont fontItalic = PDType1Font.HELVETICA_OBLIQUE;
> 		PDFont fontMono = PDType1Font.COURIER;
> 		// Start a new content stream which will "hold" the to be created
> 		// content
> 		PDPageContentStream cos = new PDPageContentStream(document, page1);
> 		int line = 0;
> 		List<String> sampleData = new ArrayList<String>();
> 		sampleData.add("ss1 s");
> 		sampleData.add("dd α");
> 		// String tt ="sss";
> 		for (String tt : sampleData) {
> 			++line;
> 			drawText(cos, fontPlain,  tt, rect, line);
> 		}
> 		cos.close();
> 		document.save(outputFileName);
> 		document.close();
> 	}
> 	public void drawText(PDPageContentStream cos, PDFont fontPlain,String text,
> 			PDRectangle rect, int line) throws IOException {
> 		try {
> 			cos.beginText();
> 			cos.setFont(fontPlain, 12);
> 			cos.newLineAtOffset(100, rect.getHeight() - 50 * (line));
> 			cos.showText(text);
> 			cos.endText();
> 		} catch (Exception e) {
> 			e.printStackTrace();
> 		//	cos.endText();
> 		} 
> 	}
> }
> {code}
> Exception:
> {code}
> java.lang.IllegalArgumentException: U+03B1 ('alpha') is not available in this font's encoding: WinAnsiEncoding
> 	at org.apache.pdfbox.pdmodel.font.PDType1Font.encode(PDType1Font.java:345)
> 	at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:286)
> 	at org.apache.pdfbox.pdmodel.PDPageContentStream.showText(PDPageContentStream.java:411)
> 	at com.test.SimpleTest.drawText(SimpleTest.java:67)
> 	at com.test.SimpleTest.pdfGeneration(SimpleTest.java:50)
> 	at com.test.SimpleTest.main(SimpleTest.java:18)
> {code}
> And also please let me know whether pdf box will supports for localization or not?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org