|  | @@ -0,0 +1,119 @@
 | 
	
		
			
				|  |  | +// standard library includes
 | 
	
		
			
				|  |  | +#include <iostream>
 | 
	
		
			
				|  |  | +#include <string>
 | 
	
		
			
				|  |  | +using namespace std;
 | 
	
		
			
				|  |  | +// end standard library includes
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// pdfwriter library includes
 | 
	
		
			
				|  |  | +#include "PDFWriter.h"
 | 
	
		
			
				|  |  | +#include "PDFPage.h"
 | 
	
		
			
				|  |  | +#include "PageContentContext.h"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +using namespace PDFHummus;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static const string scBasePath =  "";
 | 
	
		
			
				|  |  | +static const string scSystemFontsPath = "C:\\windows\\fonts\\";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +int main(int argc, wchar_t* argv[])
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	EStatusCode status;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	do
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			PDFWriter pdfWriterA;
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +			status = pdfWriterA.StartPDF(scBasePath + "PauseAndContinue.pdf",ePDFVersion13);
 | 
	
		
			
				|  |  | +			if(status != eSuccess)
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			// Create a new page
 | 
	
		
			
				|  |  | +			PDFPage* pdfPage = new PDFPage();
 | 
	
		
			
				|  |  | +			pdfPage->SetMediaBox(PDFRectangle(0,0,595,842));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			// Create a content context for the page
 | 
	
		
			
				|  |  | +			PageContentContext* pageContentContext = pdfWriterA.StartPageContentContext(pdfPage);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			PDFUsedFont* arialTTF = pdfWriterA.GetFontForFile(scSystemFontsPath + "arial.ttf");
 | 
	
		
			
				|  |  | +			if(!arialTTF)
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				status = eFailure;
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			pageContentContext->k(0,0,0,1);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			pageContentContext->BT();
 | 
	
		
			
				|  |  | +			pageContentContext->Tf(arialTTF,1);
 | 
	
		
			
				|  |  | +			pageContentContext->Tm(20,0,0,20,40,822);
 | 
	
		
			
				|  |  | +			pageContentContext->Tj("Hello World");
 | 
	
		
			
				|  |  | +			pageContentContext->ET();				
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			// End content context, and write the page
 | 
	
		
			
				|  |  | +			status = pdfWriterA.EndPageContentContext(pageContentContext);
 | 
	
		
			
				|  |  | +			if(status != eSuccess)
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			status = pdfWriterA.WritePageAndRelease(pdfPage);
 | 
	
		
			
				|  |  | +			if(status != eSuccess)
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			status = pdfWriterA.Shutdown(scBasePath + "PauseAndContinueTest.txt");
 | 
	
		
			
				|  |  | +			if(status != eSuccess)
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			PDFWriter pdfWriterB;
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +			status = pdfWriterB.ContinuePDF(scBasePath + "PauseAndContinue.pdf",scBasePath + "PauseAndContinueTest.txt");
 | 
	
		
			
				|  |  | +			if(status != eSuccess)
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			// Create a new page
 | 
	
		
			
				|  |  | +			PDFPage* pdfPage = new PDFPage();
 | 
	
		
			
				|  |  | +			pdfPage->SetMediaBox(PDFRectangle(0,0,595,842));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			// Create a content context for the page
 | 
	
		
			
				|  |  | +			PageContentContext* pageContentContext = pdfWriterB.StartPageContentContext(pdfPage);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			PDFUsedFont* arialTTF = pdfWriterB.GetFontForFile(scSystemFontsPath + "arial.ttf");
 | 
	
		
			
				|  |  | +			if(!arialTTF)
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				status = eFailure;
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			pageContentContext->k(0,0,0,1);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			pageContentContext->BT();
 | 
	
		
			
				|  |  | +			pageContentContext->Tf(arialTTF,1);
 | 
	
		
			
				|  |  | +			pageContentContext->Tm(20,0,0,20,40,822);
 | 
	
		
			
				|  |  | +			pageContentContext->Tj("Hello Again, World");
 | 
	
		
			
				|  |  | +			pageContentContext->ET();				
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			// End content context, and write the page
 | 
	
		
			
				|  |  | +			status = pdfWriterB.EndPageContentContext(pageContentContext);
 | 
	
		
			
				|  |  | +			if(status != eSuccess)
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			status = pdfWriterB.WritePageAndRelease(pdfPage);
 | 
	
		
			
				|  |  | +			if(status != eSuccess)
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			status = pdfWriterB.EndPDF();
 | 
	
		
			
				|  |  | +			if(status != eSuccess)
 | 
	
		
			
				|  |  | +				break;
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	}while(false);
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +	if(eSuccess == status)
 | 
	
		
			
				|  |  | +		cout<<"Succeeded in creating PauseAndContinue.PDF file\n";
 | 
	
		
			
				|  |  | +	else
 | 
	
		
			
				|  |  | +		cout<<"Failed in creating PauseAndContinue.PDF file\n";
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +	return 0;
 | 
	
		
			
				|  |  | +}
 |