Generera PDF via Open Source C++ API
Open Source C++-bibliotek för att skapa, redigera, manipulera och analysera PDF-filer.
Vad är PDF-Writer?
PDF-Writer är ett C++-bibliotek med öppen källkod som fullt ut har stöd för att skapa, redigera, manipulera och analysera PDF-filer såväl som strömmar. Biblioteket utvecklades med den huvudsakliga "engångsmetoden" för att generera PDF-filer. Det är därför det fungerar snabbt och använder lite minne oavsett hur stor filen växer. Därför är det bäst att skapa små PDF-filer eller generera större PDF-dokument.
Att lägga till innehåll i en PDF är alltid mycket viktigt och hjälper utvecklare att skapa anpassade PDF-filer. Biblioteket har inkluderat stöd för flera viktiga funktioner för bearbetning av PDF-filer såsom skapande av PDF-sidor, PDF-operatorer för att rita innehåll, inbäddning av JPG- eller PNG- och TIFF-bilder, modifiering av PDF, sammanfoga eller dela PDF-filer, rendering av PDF-filer, dataextraktion från PDF , Unicode-textstöd, TrueType- och OpenType-teckensnitt och många fler.
Komma igång med PDF-Writer
Den rekommenderade metoden för att bygga biblioteket och exempelapplikationen är att använda CMake. du kan få det från CMakes webbplats. Biblioteket är beroende av Zlib, LibTiff, LibJpeg, FreeType och LibPng. Det betyder att du också bör kompilera dem innan du använder PDF-biblioteket i ett länkat sammanhang.
Du kan också installera det manuellt; ladda ner de senaste versionsfilerna direkt från GitHub-förrådet.
PDF-generering och modifiering via C++
Mjukvaruutvecklare kan använda PDF-Writer API för att generera en ny PDF-fil i sina egna C++-applikationer. Biblioteket underlättar också utvecklare att modifiera det efter sina egna behov. Du kan enkelt bädda in JPG-, PNG- och TIFF-bilder, definiera återanvändbara objekt, bädda in befintliga PDF-sidor samt text med lätthet. Du kan använda befintliga PDF-sidor genom att antingen lägga till dem som sidor till PDF-filen eller använda dem som delar för att inkludera i grafiken på en nyskapad sida. Genom att använda följande steg kan du enkelt skapa PDF.
Skapa PDF i C++
- Skapa en instans av PDFWriter-objektet
- Öppna en PDF-fil för att skriva
- Fortsätt nu och lägg till innehåll i PDF:en.
- Spara PDF-dokument
PDF-generering i C++
// Create an instance of the PDFWriter objec
PDFWriter pdfWriter;
// Open a PDF file for writing
pdfWriter.StartPDF("c:\\myFile.pdf",ePDFVersion13);
// ...add content to PDF file...
pdfWriter.EndPDF();
Lägga till nya sidor i PDF-dokument
Med PDF-Writer bibliotek är det möjligt att lägga till nya sidor och ställa in deras dimensioner i ett PDF-dokument. Det är väldigt enkelt och kräver bara några rader C++-kod för att lägga till nya sidor i en PDF-fil. Biblioteket ger också utvecklare möjlighet att ändra en befintlig sida eller ta bort en sida. Det är också möjligt att lägga till innehåll på en redan skapad PDF-sida.
Bädda in bilder i PDF-dokument
PDF-Writer-biblioteket ger stöd för inbäddning av TIFF-, PNG- och JPG-bilder samt PDF-sidor. Det finns metoder på hög nivå som är generella för alla bildtyper. Förutom det finns det några metoder på lägre nivå för avancerad användning av bilderna. Det har gett stöd för JPG-bilder genom den inbyggda DCT-avkodaren, PNG genom avkodning med LibPng och TIFF-bilder är genom kodning/avkodning med hjälp av LibTiff.
Bildinbäddning i PDF via C++
pdfWriter.StartPDF("HighLevelImages.PDF",ePDFVersion13);
PDFPage* page = new PDFPage();
page->SetMediaBox(PDFRectangle(0,0,595,842));
PageContentContext* cxt = pdfWriter.StartPageContentContext(page);
cxt->DrawImage(10,10,"soundcloud_logo.jpg"));
pdfWriter.EndPageContentContext(cxt);
pdfWriter.WritePageAndRelease(page);
pdfWriter.EndPDF();
Sammanfoga olika PDF-dokument
Med Open Source PDF combiner API kan användare snabbt kombinera flera PDF-dokument utan några externa beroenden med bara ett par rader kod. PDF-Writer ger mjukvaruutvecklare möjlighet att skapa ett helt nytt PDF-dokument från befintliga PDF-filer. Det hjälper användare att lagra och granska PDF-dokumentet lättare.
Slå samman PDF-sidors innehåll via C++
PDFPage* page = new PDFPage();
page->SetMediaBox(PDFRectangle(0,0,595,842));
PDFPageRange singlePageRange;
singlePageRange.mType = PDFPageRange::eRangeTypeSpecific;
singlePageRange.mSpecificRanges.push_back(ULongAndULong(0,0));
pdfWriter.MergePDFPagesToPage(page,"C:\\Other2PagePDF.PDF",singlePageRange);
pdfWriter.WritePageAndRelease(page);