In this short tutorial, we will learn how to create PDF using C++. By using C++ create PDF file example, one can easily generate a PDF in few API calls. The example can be used in any MS Windows development environment that supports C++.
Steps to Create PDF using C++
- Include Aspose.Pdf for C++ library using NuGet package manager
- Include the reference to Aspose::Pdf namespace
- Initialize document object to create PDF from C++
- Initialize TextFragment instance to set text and its properties
- Using Save method in C++ create PDF on disk
In C++ generate PDF document by using few simple steps. You can achieve this by creating a blank PDF using Document Class and adding a page inside it. Then PDF text and its properties are set by initializing TextBuilder Class instance. The generated PDF file will be saved on disk using Save method.
Code to Generate PDF using C++
#pragma once | |
#include <system/string.h> | |
#include <system/shared_ptr.h> | |
#include <stdio.h> | |
#include <system/console.h> | |
#include <system/environment.h> | |
#include <system/object_ext.h> | |
#include <Aspose.PDF.Cpp/License.h> | |
#include <Aspose.PDF.Cpp/Document.h> | |
#include <Aspose.PDF.Cpp/Page.h> | |
#include <Aspose.PDF.Cpp/PageCollection.h> | |
#include <Aspose.PDF.Cpp/Color.h> | |
#include <Aspose.PDF.Cpp/Text/TextFragment.h> | |
#include <Aspose.PDF.Cpp/Text/Position.h> | |
#include <Aspose.PDF.Cpp/Text/TextBuilder.h> | |
#include <Aspose.PDF.Cpp/Text/TextFragmentCollection.h> | |
#include <Aspose.PDF.Cpp/Text/TextFragmentState.h> | |
#include <Aspose.PDF.Cpp/Text/FontRepository.h> | |
using namespace System; | |
using namespace Aspose::Pdf; | |
using namespace Aspose::Pdf::Text; | |
void CreatePdfInCpp() | |
{ | |
// Set the license for Aspose.PDF for C++ to create PDF | |
SharedPtr<License> CreatePDFLicense = System::MakeObject<License>(); | |
CreatePDFLicense->SetLicense(u"Aspose.PdfCPP.lic"); | |
// Initialize document object create PDF from C++ | |
SharedPtr<Document> PdfDocument = MakeObject<Document>(); | |
// Add empty page in PDF | |
SharedPtr<Page> pdfPage = PdfDocument->get_Pages()->Add(); | |
// Initialize Text fragment and set text | |
SharedPtr <TextFragment> textFragments = MakeObject<TextFragment>(u"Knowledgebase Text"); | |
// Apply text related properties | |
textFragments->set_Position(MakeObject < Position>(100, 600)); | |
textFragments->get_TextState()->set_FontSize(12); | |
textFragments->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman")); | |
textFragments->get_TextState()-> | |
set_BackgroundColor((MakeObject<Aspose::Pdf::Color>())->FromRgb(System::Drawing::Color::get_Wheat())); | |
textFragments->get_TextState()-> | |
set_ForegroundColor((MakeObject<Aspose::Pdf::Color>())->FromRgb(System::Drawing::Color::get_Red())); | |
// Instantiate TextBuilder object | |
SharedPtr < TextBuilder> textBuilders = MakeObject< TextBuilder>(pdfPage); | |
// Append added fragment to the PDF page | |
textBuilders->AppendText(textFragments); | |
// Create PDF using C++ | |
PdfDocument->Save(u"Generated_out.pdf"); | |
} |
In C++ PDF generator can be developed by using simple API calls. We witnessed how to generate PDF using C++ without any dependence on other APIs or Adobe PDF. In few steps, we managed to create a PDF from scratch by inserting text and setting its respective textual properties.
In last topic, we focused on how to flatten PDF Form using C++. This topic covers how to create PDF in C++ using few simple steps.