Dans ce court didacticiel, nous allons apprendre à créer PDF à l’aide de C++. En utilisant l’exemple C++ créer un fichier PDF, on peut facilement générer un PDF en quelques appels d’API. L’exemple peut être utilisé dans n’importe quel environnement de développement MS Windows prenant en charge C++.
Étapes pour créer un PDF en utilisant C++
- Inclure la bibliothèque Aspose.Pdf for C++ à l’aide du gestionnaire de packages NuGet
- Inclure la référence à l’espace de noms Aspose::Pdf
- Initialiser l’objet document pour créer un PDF à partir de C++
- Initialiser l’instance TextFragment pour définir le texte et ses propriétés
- Utilisation de la méthode Save en C++ pour créer un PDF sur le disque
En C++, générez un document PDF en suivant quelques étapes simples. Vous pouvez y parvenir en créant un PDF vierge à l’aide de Document Class et en y ajoutant une page. Ensuite, le texte PDF et ses propriétés sont définis en initialisant l’instance TextBuilder Class. Le fichier PDF généré sera enregistré sur le disque à l’aide de la méthode d’enregistrement.
Code pour générer un PDF en utilisant 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"); | |
} |
En C++, le générateur PDF peut être développé en utilisant de simples appels d’API. Nous avons vu comment générer un PDF en utilisant C++ sans aucune dépendance vis-à-vis d’autres API ou d’Adobe PDF. En quelques étapes, nous avons réussi à créer un PDF à partir de zéro en insérant du texte et en définissant ses propriétés textuelles respectives.
Dans le dernier sujet, nous nous sommes concentrés sur comment aplatir un formulaire PDF en utilisant C++. Cette rubrique couvre comment créer un PDF en C++ en quelques étapes simples.