Duncan Horrocks created PDFBOX-1663:
---------------------------------------
Summary: Hello World using a TrueType font
ArrayIndexOutOfBoundsException
Key: PDFBOX-1663
URL: https://issues.apache.org/jira/browse/PDFBOX-1663
Project: PDFBox
Issue Type: Bug
Affects Versions: 1.8.2
Environment: Windows 7 SP1 32-bit, pdfbox 1.8.2., NetBeans IDE 6.9.1
Reporter: Duncan Horrocks
The small example “Hello World using a TrueType font” on the pdfbox website
does not work when selecting the Windows font “cour.ttf” (Courier New). It
works with the non-fixed width fonts that I have tried (Arial, Albertus,
Bookman Old Style, Garamond, Palatino, Segoe UI) and it works with Lucida
Console, a fixed width font, but not Courier New.
This is the error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadDescriptorDictionary(PDTrueTypeFont.java:418)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:201)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:177)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:158)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:145)
at
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.loadTTF(PDTrueTypeFont.java:132)
at pdfbox_ttf_test.Main.main(Main.java:31)
To me this is the same error as PDFBOX-1335, except maybe it is still not fixed
for all fonts.
I am using Windows 7 SP1 32-bit, pdfbox 1.8.2., NetBeans IDE 6.9.1
This is my source:
----------------------- <snip> -------------------------
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pdfbox_ttf_test;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDTrueTypeFont;
import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
import org.apache.pdfbox.exceptions.COSVisitorException;
import java.io.IOException;
/**
*
* @author Duncan
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException,
COSVisitorException {
// TODO code application logic here
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage( page );
// Create a new font object by loading a TrueType font into the document
PDFont font = PDTrueTypeFont.loadTTF(document,
"C:\\Windows\\Fonts\\cour.ttf");
// Start a new content stream which will "hold" the to be created
content
PDPageContentStream contentStream = new PDPageContentStream(document,
page);
// Define a text content stream using the selected font, moving the
cursor and drawing the text "Hello World"
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 100, 700 );
contentStream.drawString( "Hello World" );
contentStream.endText();
// Make sure that the content stream is closed:
contentStream.close();
// Save the results and ensure that the document is properly closed:
document.save( "Hello World.pdf");
document.close();
}
}
-------------------------- <end snip> -----------------------------
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira