123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /* 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 <stdlib.h>
- #include <iostream>
- #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();
- }
|