/* Found that previous library was complied with the MSVC compiler and not compatible with GNU toolchain. Tried to use Msys with PDFHummus Cmake build tools and it was hard-coded * to MSVC. So building for GNU compiler will take some modification of Cmake. * 4.16.20 - after getting an image onto the pdf, we realized there was an error that was not getting logged/presented to us. * we came upon this error, by trying to run the pdfHummusTest1.exe and the pdf file was not being created (because it was still * open -> Windows locking files regardless of where they are open). This is the reason why we wanted to figure out if PDFHummus * had an error logging capability and then we had to try and figure out how to use it... to be continued for next time. */ #include #include #include "PDFWriter.h" #include "PDFPage.h" #include "PageContentContext.h" #include "PDFFormXObject.h" int main(){ PDFWriter pdfWriter; // PREPARE PDF DOCUMENT // ******************** LogConfiguration test = LogConfiguration::DefaultLogConfiguration(); test.ShouldLog = true; test.LogFileLocation = ".\\hemph"; // set path to output directory for new pdf EStatusCode e = pdfWriter.StartPDF(".\\myFile.pdf",ePDFVersion13,test); if (e){ printf ("something interesting"); } PDFPage* pdfPage = new PDFPage(); // set dimensions for an A4 sized page pdfPage->SetMediaBox(PDFRectangle(0,0,595,842)); PageContentContext* pageContentContext = pdfWriter.StartPageContentContext(pdfPage); // include font file PDFUsedFont* arialTTF = pdfWriter.GetFontForFile("C:\\Windows\\Fonts\\arial.ttf"); // ADD CONTENT // ******************** // set font color to black pageContentContext->k(0,0,0,1); // set text object pageContentContext->BT(); // set font pageContentContext->Tf(arialTTF,1); // set position of text pageContentContext->Tm(20,0,0,20,40,822); // insert text into PDF pageContentContext->Tj("Text placed and scaled with Tm"); // end of text pageContentContext->ET(); PDFFormXObject* image = pdfWriter.CreateFormXObjectFromJPGFile("C:\\Users\\bad-p\\Desktop\\Work Folder\\VS CODE\\SanAntonioPass.jpg"); if (!image){ printf ("hiiii"); } pageContentContext->q(); pageContentContext->cm(0.25,0,0,0.25,86,125); //pageContentContext->cm(0.4,0,0,0.4,57.5,241); pageContentContext->Do(pdfPage->GetResourcesDictionary().AddFormXObjectMapping(image->GetObjectID())); pageContentContext->Q(); // END PAGE, WRITE PDF. // ******************** pdfWriter.EndPageContentContext(pageContentContext); pdfWriter.WritePageAndRelease(pdfPage); pdfWriter.EndPDF(); }