DynaPDF Manual - Page 67

Previous Page 66   Index   Next Page 68

PDF/A and PDF/AX Compatibility
Page 67 of 839
Example (C++):
// Error callback function.
SI32 PDF_CALL PDFError(const void* Data, SI32 ErrCode, const char*
ErrMessage, SI32 ErrType)
{
printf("%s\n", ErrMessage);
return -1; // We break processing if an error occurs
}
int main(int argc, char* argv[])
{
void* pdf = pdfNewPDF();
if (!pdf) return 2; // Out of memory?
pdfSetOnErrorProc(pdf, NULL, PDFError);
pdfCreateNewPDF(pdf, "c:/cppout.pdf");
pdfSetDocInfo(pdf, diCreator, "C++ Example project");
pdfSetDocInfo(pdf, diTitle, "PDF/X Compatibility");
pdfAppend(pdf);
// Just set the trim box to the same value as the media box if no
// better value is known.
TPDFRect b;
pdfGetBBox(pdf, pbMediaBox, b);
pdfSetBBox(pdf, pbTrimBox, b.Left, b.Bottom, b.Right, b.Top);
// The font must be embedded (this should always be the case)
pdfSetFont(pdf, "Arial", fsItalic, 20.0, true, cp1252);
pdfSetColorSpace(pdf, csDeviceCMYK);
pdfSetFillColor(pdf, PDF_CMYK(0, 0, 0, 255));
pdfWriteFText(pdf, taCenter,
"A very simple PDF/X compliant PDF file...");
pdfEndPage(pdf);
// The PDF version should be set before the file is closed because
// it can be changed when importing a PDF file.
pdfSetPDFVersion(pdf, pvPDFX1a_2001);
pdfAddRenderingIntent(pdf,
"c:/WINNT/System32/spool/drivers/color/USWebCoatedSWOP.icc");
pdfCloseFile(pdf);
pdfDeletePDF(pdf);
return 0;
}
 

Previous topic: PDF/A and PDF/X Compatibility, PDF/X

Next topic: PDF/A