Can we see your PDF output? --Mark Storer Senior Software Engineer Cardiff.com import legalese.Disclaimer; Disclaimer<Cardiff> DisCard = null;
> -----Original Message----- > From: John Kilbourne [mailto:[email protected]] > Sent: Tuesday, March 29, 2011 3:43 PM > To: Post all your questions about iText here > Subject: Re: [iText-questions] writing text with a specific UTF-8 font > > I tried concatenating a simple text piece to the UTF-8 string > to see if at least the concatenated part would show, but > still none of the text is visible in the PDF: > > protected void drawText(PdfContentByte pcb) > throws IOException, DocumentException { > > FontFactory.register("c:/windows/fonts/sanskrit2003.ttf", "sanskrit"); > sans = FontFactory.getFont("sanskrit", > "Identity-H", true); > readfile(); > pcb.saveState(); > for (int i=0;i<10;i++){ > ColumnText ct = new ColumnText(pcb); > --> String test = front.get(i); > --> test.concat("read this"); > --> Phrase myText = new Phrase(test); > //Phrase myText = new Phrase(front.get(i)); > --> myText = new Phrase(test); > myText.setFont(sans); > ct.setSimpleColumn(myText, > VRT_2BY5_BCARDS[i][0], > VRT_2BY5_BCARDS[i][1], > VRT_2BY5_BCARDS[i][2], > VRT_2BY5_BCARDS[i][3], > 16, > Element.ALIGN_CENTER); > ct.go(); > } > pcb.restoreState(); > } > ----- Original Message ----- > From: "John Kilbourne" <[email protected]> > To: "Post all your questions about iText here" > <[email protected]> > Sent: Tuesday, March 29, 2011 6:33:51 PM GMT -05:00 US/Canada Eastern > Subject: Re: [iText-questions] writing text with a specific UTF-8 font > > Thank you, but that did not do the trick; I still get only > blank cards printed. > Do I need to embed the font if my system already has the font? > > John > ----- Original Message ----- > From: "Paulo Soares" <[email protected]> > To: "Post all your questions about iText here" > <[email protected]> > Sent: Tuesday, March 29, 2011 5:33:54 PM GMT -05:00 US/Canada Eastern > Subject: Re: [iText-questions] writing text with a specific UTF-8 font > > > > There's no UTF-8 encoding for fonts in PDFs. Try: > > sans = FontFactory.getFont("sanskrit", "Identity-H", true); > > Paulo > > > > ----- Original Message ----- > From: John Kilbourne > To: . > Sent: Tuesday, March 29, 2011 10:08 PM > Subject: [iText-questions] writing text with a specific UTF-8 font > > I am having difficulty reading UTF-8 encoded text (Sanskrit) > from a text file and writing it onto a PDF page. No text is > printed at all when I read from the file. However, when I > simply generate text in the program, it prints as I would > expect. The non-text portions of the page (the lines for the > flashcards) print fine. Also, I am able to do a round trip of > reading from the file and writing to another (text) file in > UTF-8 such that I can read it as I expect; I commented that part out. > > I wonder if I am using the correct the correct Font > invocations on in my drawText() method. There seem to be a > number of ways to get a font (FontFactory, Font, BaseFont..) > and I am not compeletely positive that i am doing it the > correct way. Any help is appreciated. > > > import java.io.*; > import java.io.FileInputStream; > import java.io.IOException; > import java.util.Scanner; > import java.util.List; > import java.util.ArrayList; > > import com.itextpdf.text.Document; > import com.itextpdf.text.DocumentException; > import com.itextpdf.text.Element; > import com.itextpdf.text.Phrase; > import com.itextpdf.text.Font; > import com.itextpdf.text.FontFactory; > import com.itextpdf.text.PageSize; > import com.itextpdf.text.pdf.ColumnText; import > com.itextpdf.text.pdf.PdfContentByte; > import com.itextpdf.text.pdf.PdfWriter; > > public class BusCard { > > float LTMARG= 0.5f*72; > float BOTMARG= 0.25f*72; > float CARDWIDTH= 3.5f*72; > float CARDHT= 2*72f; > float PAD=15; > > float [][] VRT_2BY5_BCARDS = new float[][]{ {LTMARG+PAD, > BOTMARG+(5*CARDHT)-PAD, CARDWIDTH-PAD/2, CARDHT-PAD/2}, > {LTMARG+2*CARDWIDTH+PAD, BOTMARG+(5*CARDHT)-PAD, > CARDWIDTH-PAD/2, CARDHT-PAD/2}, > > {LTMARG+PAD, BOTMARG+(4*CARDHT)-PAD, CARDWIDTH-PAD/2, > CARDHT-PAD/2}, {LTMARG+2*CARDWIDTH+PAD, > BOTMARG+(4*CARDHT)-PAD, CARDWIDTH-PAD/2, CARDHT-PAD/2}, > > {LTMARG+PAD, BOTMARG+(3*CARDHT)-PAD, CARDWIDTH-PAD/2, > CARDHT-PAD/2}, {LTMARG+2*CARDWIDTH+PAD, > BOTMARG+(3*CARDHT)-PAD, CARDWIDTH-PAD/2, CARDHT-PAD/2}, > > {LTMARG+PAD, BOTMARG+(2*CARDHT)-PAD, CARDWIDTH-PAD/2, > CARDHT-PAD/2}, {LTMARG+2*CARDWIDTH+PAD, > BOTMARG+(2*CARDHT)-PAD, CARDWIDTH-PAD/2, CARDHT-PAD/2}, > > {LTMARG+PAD, BOTMARG-PAD, CARDWIDTH-PAD/2, CARDHT-PAD/2}, > {LTMARG+2*CARDWIDTH+PAD, BOTMARG-PAD, CARDWIDTH-PAD/2, > CARDHT-PAD/2}, }; > > public static final String RESULT = > "C:/all/_sanskrit/flashcards/buscards.pdf"; > protected static final String > cardfile="C:/all/_sanskrit/flashcards/SEL-first10.txt"; > > List <String>front; > List <String>back; > Font sans; > > public void createPdf(String filename) > throws DocumentException, IOException { // step 1 Document > document = new Document(PageSize.LETTER); // step 2 PdfWriter > writer = PdfWriter.getInstance(document, new > FileOutputStream(filename)); // step 3 document.open(); // > step 4 drawCards(writer.getDirectContentUnder()); > drawText(writer.getDirectContentUnder()); > // step 5 > document.close(); > } > > void readfile()throws IOException{ > Scanner scanner = new Scanner(new FileInputStream(cardfile), > "UTF-8"); front = new ArrayList<String>(); back = new > ArrayList<String>(); try { while (scanner.hasNextLine()) { > String line = scanner.nextLine(); String[] fields = > line.split(" \\t "); front.add(fields[0]); if > (fields.length>1){back.add(fields[1]);} > } > } finally { > scanner.close(); > } > } > > protected void drawCards(PdfContentByte pcb) throws > DocumentException { int i; pcb.saveState(); for (i=0;i<=4; > i++){ pcb.rectangle(LTMARG , BOTMARG + i*CARDHT, CARDWIDTH, > CARDHT); pcb.stroke(); } for (i=0;i<=4; i++){ > pcb.rectangle(LTMARG + CARDWIDTH, BOTMARG + i*CARDHT, > CARDWIDTH, CARDHT); pcb.stroke(); } pcb.restoreState(); } > > protected void drawText(PdfContentByte pcb) throws > IOException, DocumentException { > FontFactory.register("c:/windows/fonts/sanskrit2003.ttf", > "sanskrit"); sans = FontFactory.getFont("sanskrit", "UTF-8", > true); readfile(); pcb.saveState(); for (int i=0;i<10;i++){ > ColumnText ct = new ColumnText(pcb); //Phrase myText = new > Phrase(front.get(i)); Phrase myText = new Phrase(i+ " read > this"); myText.setFont(sans); //out.write(front.get(i)); > ct.setSimpleColumn(myText, VRT_2BY5_BCARDS[i][0], > VRT_2BY5_BCARDS[i][1], VRT_2BY5_BCARDS[i][2], > VRT_2BY5_BCARDS[i][3], 16, Element.ALIGN_CENTER); ct.go(); } > pcb.restoreState(); } > > public static void main(String[] args) throws > DocumentException, IOException { new > BusCard().createPdf(RESULT); System.out.println("done"); } } > > > -------------------------------------------------------------- > ---------------- > Enable your software for Intel(R) Active Management > Technology to meet the growing manageability and security > demands of your customers. Businesses are taking advantage of > Intel(R) vPro (TM) technology - will your software be a part > of the solution? Download the Intel(R) Manageability Checker > today! http://p.sf.net/sfu/intel-dev2devmar > _______________________________________________ > iText-questions mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/itext-questions > > iText(R) is a registered trademark of 1T3XT BVBA. > Many questions posted to this list can (and will) be answered > with a reference to the iText book: > http://www.itextpdf.com/book/ Please check the keywords list > before you ask for examples: http://itextpdf.com/themes/keywords.php > -------------------------------------------------------------- > ---------------- > Enable your software for Intel(R) Active Management > Technology to meet the growing manageability and security > demands of your customers. Businesses are taking advantage of > Intel(R) vPro (TM) technology - will your software be a part > of the solution? Download the Intel(R) Manageability Checker > today! http://p.sf.net/sfu/intel-dev2devmar > _______________________________________________ > iText-questions mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/itext-questions > > iText(R) is a registered trademark of 1T3XT BVBA. > Many questions posted to this list can (and will) be answered > with a reference to the iText book: > http://www.itextpdf.com/book/ Please check the keywords list > before you ask for examples: http://itextpdf.com/themes/keywords.php > > > -------------------------------------------------------------- > ---------------- > Enable your software for Intel(R) Active Management > Technology to meet the growing manageability and security > demands of your customers. Businesses are taking advantage of > Intel(R) vPro (TM) technology - will your software be a part > of the solution? Download the Intel(R) Manageability Checker > today! http://p.sf.net/sfu/intel-dev2devmar > _______________________________________________ > iText-questions mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/itext-questions > > iText(R) is a registered trademark of 1T3XT BVBA. > Many questions posted to this list can (and will) be answered > with a reference to the iText book: > http://www.itextpdf.com/book/ Please check the keywords list > before you ask for examples: http://itextpdf.com/themes/keywords.php > > > > -------------------------------------------------------------- > ---------------- > Enable your software for Intel(R) Active Management > Technology to meet the growing manageability and security > demands of your customers. Businesses are taking advantage of > Intel(R) vPro (TM) technology - will your software be a part > of the solution? Download the Intel(R) Manageability Checker > today! http://p.sf.net/sfu/intel-dev2devmar > _______________________________________________ > iText-questions mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/itext-questions > > iText(R) is a registered trademark of 1T3XT BVBA. > Many questions posted to this list can (and will) be answered > with a reference to the iText book: > http://www.itextpdf.com/book/ Please check the keywords list > before you ask for examples: http://itextpdf.com/themes/keywords.php > > ------------------------------------------------------------------------------ Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ iText-questions mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/itext-questions iText(R) is a registered trademark of 1T3XT BVBA. Many questions posted to this list can (and will) be answered with a reference to the iText book: http://www.itextpdf.com/book/ Please check the keywords list before you ask for examples: http://itextpdf.com/themes/keywords.php
