In this Q
After our recent C-suite announcement introducing the Executive team that will lead iText into a new era of growth, we wanted to take the chance to get to know our CEO, Gary Fry, better. Gary has been in his job for only six months, but he has already taken over iText’s business with his veteran-like experience and excellent leadership. A long-time leader in the software industry told us how things are going, where they’re going, and what makes iText the best open-source solution provider of its kind.
iText is an open-source Java library that allows developers to generate, manipulate and inspect PDF documents programmatically. With its powerful API iText has become an essential tool for working with PDFs across various industries like finance, healthcare, technology, and more.
If you have an upcoming interview where your iText skills will be assessed it’s crucial to prepare thoroughly to showcase your expertise. Going through frequent iText interview questions understanding core concepts, and practicing responses will boost your confidence.
In this guide, we’ve compiled a list of the top 25 iText interview questions that assess your fundamental knowledge as well as test your familiarity with advanced features:
1. What is iText and how can you use it to generate dynamic PDF content?
iText is a Java library that allows generating, editing, and manipulating PDF documents programmatically. It enables adding dynamic content to PDFs by providing APIs to insert elements like text, images, tables, lists, etc. without having to go through a graphical editor.
For example, you can add text paragraphs dynamically using the Document
and Paragraph
classes. Similarly, insert images using Image
class or tables using the PdfPTable
class. iText also allows updating existing PDFs, extracting their content, and much more. This makes it suitable for use cases like generating invoices, reports, statements, and other documents on the fly.
2. How can you add a watermark to all pages of a PDF file using iText?
To add a watermark to each page of a PDF first create a PdfReader for the original file and a PdfStamper to modify it. Then in a loop get the over content layer for each page from the stamper and add watermark text to it using ColumnText. Finally close the stamper and reader.
For example:
PdfReader reader = new PdfReader("original.pdf");PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("watermarked.pdf"));for (int i = 1; i <= reader.getNumberOfPages(); i++) { PdfContentByte over = stamper.getOverContent(i); over.beginText(); over.setFontAndSize(bf, 18); over.showTextAligned(Phrase("WATERMARK"), 300, 400, 30); over.endText();}stamper.close();reader.close();
3. What is the role of PdfWriter in iText?
PdfWriter
is the engine in iText that converts high-level document content to low-level PDF syntax. It provides methods to add various elements like text, images, tables, etc. to the PDF document.
Key features of PdfWriter
include:
- Adding content
- Handling PDF versions
- Setting encryption, passwords
- Compressing PDFs
- Controlling page events like headers, footers
- Adding metadata to PDF
4. How can you create a table in a PDF using iText?
To create a table in a PDF using iText:
- Initialize
Document
andPdfWriter
- Create a
PdfPTable
with required column count - Add headers using
addCell(String)
if needed - Add rows using
addCell(String)
oraddCell(PdfPCell)
- Customize cell style, if needed, using
PdfPCell
- Add table to document with
document.add(table)
- Close document
For example:
PdfPTable table = new PdfPTable(3);table.addCell("Col 1");table.addCell("Col 2"); table.addCell("Col 3");for(int i=1;i<=10;i++) { table.addCell("1_"+i); table.addCell("2_"+i); table.addCell("3_"+i); }document.add(table);
5. How can you handle exceptions while creating PDFs in iText?
The main exceptions to handle when creating PDFs in iText are:
-
DocumentException
: Issues with document structure or properties. Surround document manipulation code in try-catch block and log error messages. -
IOException
: I/O failures like file not found. Catch these, log error and show user-friendly message.
For example:
try { Document doc = new Document(); PdfWriter.getInstance(doc, new FileOutputStream(file)); // Add content doc.close(); } catch (DocumentException de) { System.err.println(de.getMessage());} catch (IOException ioe) { System.err.println(ioe.getMessage()); }
6. How can you set different text alignments in iText?
To align text left, right or center in iText:
- For left align, use
setAlignment(Element.ALIGN_LEFT)
onParagraph
- For right align, use
setAlignment(Element.ALIGN_RIGHT)
- For center align, use
setAlignment(Element.ALIGN_CENTER)
For images:
- Use
setAlignment(Image.LEFT)
for left align - Use
setAlignment(Image.RIGHT)
for right align - Use
setAlignment(Image.MIDDLE)
for center align
7. What is the Chunk class in iText?
Chunk
represents a fragment of text with associated font styling like color, size, etc. It is the smallest text unit that can be added to a PDF.
To use it:
- Instantiate a
Chunk
object with text and style - Add the chunk to
Paragraph
orPhrase
- Cannot control text layout or flow
For example:
Chunk chunk = new Chunk("Hello World", FontFactory.getFont(FontFactory.COURIER, 20, Font.BOLD, BaseColor.RED));
8. How can you create lists and tables using iText?
Lists:
- Create a
List
object - Add
ListItem
objects with each representing a list item - Add
List
to document
Tables:
- Create a
PdfPTable
object with column count - Add rows using
addCell(String)
oraddCell(PdfPCell)
- Customize cell with
PdfPCell
if needed - Add table to document
For example:
// List List list = new List(true, 20);list.add(new ListItem("Item 1"));// TablePdfPTable table = new PdfPTable(3);table.addCell("Row 1 Col 1");table.addCell("Row 1 Col 2");
9. How can you merge multiple PDFs using iText?
To merge PDFs with iText:
- Create a
PdfWriter
for merged document - Create a
PdfReader
for each input PDF - Get page count and add pages from reader to writer using
PdfCopy
- Repeat for all input PDFs
- Close readers and writer
For example:
PdfWriter writer = new PdfWriter("merged.pdf");PdfDocument pdf = new PdfDocument(writer);PdfMerger merger = new PdfMerger(pdf);for(PdfDocument sourcePdf : allPdfs) { merger.merge(sourcePdf, 1, sourcePdf.getNumberOfPages());} pdf.close();
10. How can you add an image to a PDF document using iText?
To add an image to a PDF with iText:
- Create an
Image
instance usinggetImage()
- Set image position on page
- Add to document using
document.add(img)
For example:
Image img = Image.getInstance("image.jpg");img.setAbsolutePosition(250, 500);document.add(img);
11. Can you explain iText’s HTML to PDF conversion capability?
iText can parse HTML and CSS to generate PDFs. Key points:
- Supports CSS styles, images, tables, lists
- XML Worker parses HTML/CSS into iText structure
- Converts text, applies styling, handles layout
- Supports complex structures like nested tables
- Doesn’t support JavaScript or forms
- Great for generating PDF reports, invoices from HTML
12. What is the difference between PdfWriter and PdfReader?
PdfWriter | PdfReader |
---|---|
Generates new PDFs | Reads existing PDFs |
Adds content like text, images | Cannot add new content |
Handles PDF versions, security | Extracts info, fill forms |
Lower-level PDF generation | High-level parsing of PDF |
13. How can you use PdfStamper to modify a PDF?
Steps to modify a PDF with PdfStamper:
What is something people may not know about you?
Aside from being an avid family man, I love being on the water. Sailing has been something I’ve done since childhood. I love the peace and quiet that it gives me when I’m alone, but I also like the competitive side of it. My kids are now 15 and 13, and they both love sailing and competing. It’s nice to be able to get away on the weekends and spend time with my family. You’ll see us out by the coast on any given summer weekend!.
iText CEO spends his free time sailing on his sail boat MinX.
Your resume speaks for itself. What did you take with you from your previous roles into this role as iText’s CEO?
The last 20 years have taught me a lot, from my time as an engineer to a salesman to a general manager to CEO. It’s the people you surround yourself with that make the difference, though, as you go through that journey. I learned how to be a facilitator. My long time mantra for leadership is to enable great people. It’s my job to make sure they have the right tools and energy to put that intelligence to good use. I want to give the team the tools they need to do the right thing at iText and make sure that when we mess up, we learn from it and move on. On the flip side, when we do well, we learn and do more of it. I consider myself mature, but still hungry.
Learn What’s Great About iText 8
FAQ
How to set font color in iText PDF?
How to add image in PDF using iText 7 in Java?
What questions are asked during a job interview?
The following job interview questions may come up throughout the hiring process for entry-level IT positions, like help desk technician or IT associate, or higher-level jobs that require more specific knowledge. 1. What is your troubleshooting process? What they’re really asking: How do you solve a problem?
How do I prepare for a technical support interview?
To brush up on your interview skills, explore IBM’s Tech Support Career Guide and Interview Preparation. In just nine hours, you’ll learn how to summarize the basic functions of a technical support specialist, review the technical support fundamentals and refresh essential skills, and discover what to expect from your technical interview.
How do I ace my next interview?
Ace your next interview by learning key techniques and preparing for common interview questions. Take the Art of the Job Interview course to get started today. Plus, your first seven days of Coursera Plus are free.
How do I prepare for an IT job search?
IT professionals must have a strong grasp of both foundational and emerging concepts and tools in the field. Prepare for your IT job search and career with these top-rated courses on Coursera: To brush up on your interview skills, explore IBM’s Tech Support Career Guide and Interview Preparation.