1. produkty
  2.   PDF
  3.   C++
  4.   PDF-Writer
 
  

Generujte PDF přes Open Source C++ API

Knihovna Open Source C++ pro vytváření, úpravy, manipulaci a analýzu souborů PDF.

Co je PDF-Writer?

PDF-Writer je Open Source C++ knihovna, která plně podporuje vytváření, úpravy, manipulaci a analýzu souborů PDF a také streamů. Knihovna byla vyvinuta s hlavní „jednorázovou“ metodou generování souborů PDF. Proto pracuje rychle a využívá málo paměti bez ohledu na to, jak velký soubor roste. Proto je nejlepší vytvářet malé soubory PDF nebo generovat větší dokumenty PDF.

Přidání obsahu do PDF je vždy velmi důležité a pomáhá vývojářům při generování vlastních PDF. Knihovna obsahuje podporu několika důležitých funkcí pro zpracování souborů PDF, jako je vytváření stránek PDF, operátory PDF pro obsah výkresů, vkládání obrázků JPG nebo PNG a TIFF, úpravy PDF, slučování nebo rozdělení PDF, vykreslování souborů PDF, extrakce dat z PDF , podpora textu Unicode, podpora písem TrueType a OpenType a mnoho dalších.

Previous Next

Začínáme s PDF-Writer

Doporučenou metodou pro sestavení knihovny a ukázkové aplikace je použití CMake. můžete jej získat z webové stránky CMake. Knihovna je závislá na Zlib, LibTiff, LibJpeg, FreeType a LibPng. To znamená, že byste je měli také zkompilovat, než použijete knihovnu PDF v propojeném kontextu.

Můžete jej také nainstalovat ručně; stáhněte si soubory nejnovější verze přímo z úložiště GitHub.

Generování a úpravy PDF pomocí C++

Vývojáři softwaru mohou použít PDF-Writer API ke generování nového souboru PDF ve svých vlastních aplikacích C++. Knihovna také umožňuje vývojářům upravovat ji podle vlastních potřeb. Snadno můžete vkládat obrázky JPG, PNG a TIFF, definovat opakovaně použitelné objekty, vkládat existující stránky PDF i text. Stávající stránky PDF můžete použít tak, že je buď připojíte jako stránky k PDF, nebo je použijete jako části k zahrnutí do grafiky nově vytvořené stránky. Pomocí následujících kroků můžete snadno vygenerovat PDF.

Generování PDF v C++

  1. Vytvořte instanci objektu PDFWriter
  2. Otevřete soubor PDF pro zápis
  3. Nyní pokračujte a přidejte obsah do PDF.
  4. Uložit dokument PDF

Generování PDF v 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();
        

Přidání nových stránek do dokumentu PDF

S knihovnou PDF-Writer je možné přidávat nové stránky a nastavovat jejich rozměry uvnitř dokumentu PDF. Je to velmi snadné a vyžaduje jen několik řádků kódu C++ k přidání nových stránek do souboru PDF. Knihovna také dává vývojářům možnost upravit existující stránku nebo odstranit stránku. Je také možné přidat obsah na již vytvořenou stránku PDF.

Vkládání obrázků do dokumentů PDF

Knihovna PDF-Writer poskytuje podporu pro vkládání obrázků TIFF, PNG a JPG a také stránek PDF. Existují metody vysoké úrovně, které jsou obecné pro jakýkoli typ obrázku. Kromě toho existují některé metody nižší úrovně pro pokročilé použití obrázků. Poskytuje podporu pro obrázky JPG prostřednictvím nativního dekodéru DCT, PNG prostřednictvím dekódování pomocí LibPng a obrázků TIFF pomocí kódování/dekódování pomocí LibTiff.

Vkládání obrázků do PDF přes 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();
        

Spojení různých dokumentů PDF

Pomocí Open Source PDF kombinátor API mohou uživatelé rychle kombinovat více PDF dokumentů bez jakýchkoliv externích závislostí pomocí pouhých několika řádků kódu. PDF-Writer umožňuje vývojářům softwaru generovat zcela nový dokument PDF ze stávajících souborů PDF. Pomáhá uživatelům snadněji ukládat a kontrolovat dokument PDF.

Slučování obsahu stránek PDF přes 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);
        
 Čeština