You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "bai yuan (Jira)" <ji...@apache.org> on 2020/05/11 04:32:00 UTC
[jira] [Updated] (PDFBOX-4828) Encode a text using the vertical
type of the font in the attachment, which succeeded in version 2.0.12 but
failed in version 2.0.19
[ https://issues.apache.org/jira/browse/PDFBOX-4828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
bai yuan updated PDFBOX-4828:
-----------------------------
Attachment: Test1.java
Description:
[^ARIALUNI.TTF] [^Test1.java]ARIALUNI.TTF^!/jira/images/icons/link_attachment_7.gif|width=7,height=7,align=absmiddle!^
Run the follows code use 2.0.12, the text can be successfully encoded. Run this code use 2.0.19, the text can't be encoded.
{code:java}
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException { System.setProperty("sun.java2d.cmm", "sun.java2d.cmm.kcms.KcmsServiceProvider"); PDDocument doc = new PDDocument(); PDPage page = new PDPage(PDRectangle.A4); doc.addPage(page);
File file = new File("ARIALUNI.TTF"); PDType0Font ttFont = PDType0Font.loadVertical(doc, file); PDPageContentStream contentStream1 = new PDPageContentStream(doc, page); contentStream1.beginText(); contentStream1.newLineAtOffset(100, 100);
String text = "电信"; if(isCharacterEncodeable(text, ttFont)) { contentStream1.setFont(ttFont, 12); contentStream1.showText(text); } contentStream1.endText(); contentStream1.close(); doc.save("export.pdf");
doc.close(); System.out.println("aaaaa"); } private static boolean isCharacterEncodeable(String text, PDFont font){ try { font.encode(text); return true; } catch (Exception e) { return false; } }
{code}
was:
[^ARIALUNI.TTF]
Run the follows code use 2.0.12, the text can be successfully encoded. Run this code use 2.0.19, the text can't be encoded.
{code:java}
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException { System.setProperty("sun.java2d.cmm", "sun.java2d.cmm.kcms.KcmsServiceProvider"); PDDocument doc = new PDDocument(); PDPage page = new PDPage(PDRectangle.A4); doc.addPage(page);
File file = new File("ARIALUNI.TTF"); PDType0Font ttFont = PDType0Font.loadVertical(doc, file); PDPageContentStream contentStream1 = new PDPageContentStream(doc, page); contentStream1.beginText(); contentStream1.newLineAtOffset(100, 100);
String text = "电信"; if(isCharacterEncodeable(text, ttFont)) { contentStream1.setFont(ttFont, 12); contentStream1.showText(text); } contentStream1.endText(); contentStream1.close(); doc.save("export.pdf");
doc.close(); System.out.println("aaaaa"); } private static boolean isCharacterEncodeable(String text, PDFont font){ try { font.encode(text); return true; } catch (Exception e) { return false; } }
{code}
> Encode a text using the vertical type of the font in the attachment, which succeeded in version 2.0.12 but failed in version 2.0.19
> -----------------------------------------------------------------------------------------------------------------------------------
>
> Key: PDFBOX-4828
> URL: https://issues.apache.org/jira/browse/PDFBOX-4828
> Project: PDFBox
> Issue Type: Bug
> Affects Versions: 2.0.19
> Reporter: bai yuan
> Priority: Major
> Attachments: ARIALUNI.TTF, Test1.java
>
>
> [^ARIALUNI.TTF] [^Test1.java]ARIALUNI.TTF^!/jira/images/icons/link_attachment_7.gif|width=7,height=7,align=absmiddle!^
> Run the follows code use 2.0.12, the text can be successfully encoded. Run this code use 2.0.19, the text can't be encoded.
> {code:java}
> public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException { System.setProperty("sun.java2d.cmm", "sun.java2d.cmm.kcms.KcmsServiceProvider"); PDDocument doc = new PDDocument(); PDPage page = new PDPage(PDRectangle.A4); doc.addPage(page);
> File file = new File("ARIALUNI.TTF"); PDType0Font ttFont = PDType0Font.loadVertical(doc, file); PDPageContentStream contentStream1 = new PDPageContentStream(doc, page); contentStream1.beginText(); contentStream1.newLineAtOffset(100, 100);
> String text = "电信"; if(isCharacterEncodeable(text, ttFont)) { contentStream1.setFont(ttFont, 12); contentStream1.showText(text); } contentStream1.endText(); contentStream1.close(); doc.save("export.pdf");
> doc.close(); System.out.println("aaaaa"); } private static boolean isCharacterEncodeable(String text, PDFont font){ try { font.encode(text); return true; } catch (Exception e) { return false; } }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org