« Return to Thread: PdfXConformanceException

Re: PdfXConformanceException

by porcupine :: Rate this Message:

Reply to Author | View in Thread

you should be doing it this way (Java):

writer.setPDFXConformance(PdfWriter.PDFX32002);
FontFactory.registerDirectories();
Font font = FontFactory.getFont("Helvetica", BaseFont.CP1252, BaseFont.EMBEDDED, 12);
System.out.println("conformance level:" + writer.getPDFXConformance());

assuming you have a Font Face called Helvetica on your system.

GaneshPrakhya wrote:
Hi Bruno,

I am trying to create a PDF document with PDFX conformance. When I run the programme, I am getting the following exception.

Exception in thread "main" com.lowagie.text.pdf.PdfXConformanceException: All th
e fonts must be embedded.
        at com.lowagie.text.pdf.PdfWriter.checkPDFXConformance(Unknown Source)
        at com.lowagie.text.pdf.PdfWriter.addSimple(Unknown Source)
        at com.lowagie.text.pdf.PdfContentByte.setFontAndSize(Unknown Source)
        at com.lowagie.text.pdf.PdfDocument.writeLineToContent(Unknown Source)
        at com.lowagie.text.pdf.PdfDocument.flushLines(Unknown Source)
        at com.lowagie.text.pdf.PdfDocument.newPage(Unknown Source)
        at com.lowagie.text.pdf.PdfDocument.close(Unknown Source)
        at com.lowagie.text.Document.close(Unknown Source)
        at NewPage.main(NewPage.java:29)

And, here is my code..

public static void main(String[] args) {

        Document document = new Document();

        try {


            PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("D:\\NewPagePDFX.pdf"));

                        writer.setPDFXConformance(PdfWriter.PDFX32002);
                        System.out.println("conformance level:" + writer.getPDFXConformance());

            BaseFont helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
                        Font font = new Font(helvetica, 12, Font.NORMAL);

            document.open();
            document.add(new Paragraph("This is a PDFX document", font));
                        document.close();

        }
        catch(DocumentException de) {
            System.err.println(de.getMessage());
        }
        catch(IOException ioe) {
            System.err.println(ioe.getMessage());
        }


    }

Eventhough I say "BaseFont.EMBEDDED", it is still showing that fonts are not embedded. Can you point out the possible problem in this.

 « Return to Thread: PdfXConformanceException