[
https://issues.apache.org/jira/browse/PDFBOX-3504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
KUMARA SWAMY PALLUKURI updated PDFBOX-3504:
-------------------------------------------
Description:
special characters are not supporting in my program
eg: "α"(alpha)
My sample 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();
}
}
}
Exception:
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)
And also please let me know whether pdf box will supports for localization or
not?
was:
The Pdfbox version 2.0.0 ,special characters are not supporting while
eg: "α"(alpha)
My sample 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();
}
}
}
Exception:
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)
And also please let me know whether pdf box will supports for localization or
not?
> 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
> Fix For: 2.0.0
>
>
> special characters are not supporting in my program
> eg: "α"(alpha)
> My sample 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();
> }
> }
> }
> Exception:
> 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)
> 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: [email protected]
For additional commands, e-mail: [email protected]