How to write a Zapfdingbats character at a specific location on a page?

I want to put a check mark using Zapfdingbats on a specific location in my PDF document. What I achieved so far is this: I can show the check mark but it's on the side of the document and not on t

I want to put a check mark using Zapfdingbats on a specific location in my PDF document.

What I achieved so far is this: I can show the check mark but it's on the side of the document and not on the specific X, Y coordinate that I want it to be.

Posted on StackOverflow on May 4, 2013 by δοῦλος Ἰησοῦς Χριστός

Let's start with a Font object that knows how to draw a Zapfdingbats character:

Font font = new Font(Font.FontFamily.ZAPFDINGBATS, 12);

Once you have a Font object, you can create a Phrase:

Phrase phrase = new Phrase(zapfstring, font);

Where zapfstring is a string containing any Zapfdingbats character you want.

To add this Phrase at an absolute position, you can use the ShowTextAligned() method and PdfWriter's direct content:

PdfContentByte canvas = writer.DirectContent;
ColumnText.ShowTextAligned(canvas, Element.ALIGN_CENTER, phrase, 200, 500, 0);

Where 200 and 500 are an X and Y coordinate and 0 is an angle expressed in degrees. Instead of ALIGN_CENTER, you can also choose ALIGN_RIGHT or ALIGN_LEFT.



Ready to use iText?

Try our iText 7 Library and add-ons FREE for 30 days. Test your proof of concept, and see if our solution is right for you.

Get my FREE trial
Contact

Still have questions? 

We're happy to answer your questions. Reach out to us and we'll get back to you shortly.

Contact us
Stay updated

Join 11,000+ subscribers and become an iText PDF expert by staying up to date with our new products, updates, tips, technical solutions and happenings.

Subscribe Now