Darmowe API C++ do tworzenia, manipulacji i analizowania plików PDF.
Wiodąca otwarto‑źródłowa biblioteka do manipulacji PDF umożliwia programistom C++ bez wysiłku tworzyć, manipulować, szyfrować, zarządzać czcionkami i analizować dokumenty PDF w aplikacjach C++.
Czym jest biblioteka PoDoFo?
W świecie programowania w C++ możliwość programowego tworzenia, modyfikowania i wyodrębniania danych z plików PDF jest powszechnym wymogiem. Biblioteka PoDoFo, otwarto‑źródłowa i przenośna biblioteka C++17, stanowi potężne i wszechstronne rozwiązanie dla wszystkiego, co związane z PDF. PoDoFo jest dostępna bezpłatnie i została zaprojektowana do pracy z formatem plików PDF. Umożliwia programistom analizowanie plików PDF, przeglądanie wysokopoziomowych elementów PDF (takich jak adnotacje i pola formularzy), modyfikowanie ich w pamięci oraz zapisywanie zmian na dysku w ramach własnych aplikacji. Biblioteka ułatwia także tworzenie nowych plików PDF od podstaw, bez żadnych zewnętrznych zależności.
PoDoFo to solidna biblioteka C++, która umożliwia programistom pracę z formatem Portable Document Format (PDF) w sposób programistyczny. Licencjonowana na warunkach LGPL v2.0 lub nowszej dla biblioteki oraz GPL v2.0 lub nowszej dla towarzyszących narzędzi, biblioteka PoDoFo zapewnia elastyczność i otwartość zarówno dla projektów komercyjnych, jak i open‑source. Dostarcza bogaty zestaw narzędzi do parsowania, manipulacji i generowania dokumentów PDF od podstaw. Niezależnie od tego, czy potrzebujesz automatyzować generowanie raportów, wyodrębniać tekst do analizy danych, czy dodawać podpisy cyfrowe w celu zwiększenia bezpieczeństwa, PoDoFo oferuje kompleksowe i elastyczne API spełniające Twoje potrzeby.
Rozpoczęcie pracy z PoDoFo
Zalecanym sposobem instalacji PoDoFo jest użycie CMake. Proszę użyć poniższego polecenia, aby przeprowadzić płynną instalację.
Zainstaluj PPTXTemplater z GitHub
vcpkg install fontconfig freetype libxml2 openssl libjpeg-turbo libpng tiff zlib
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --config Debug
Zainstaluj PPTXTemplater z GitHub
git clone https://github.com/podofo/podofo.gitMożesz również zainstalować go ręcznie; pobierz najnowsze pliki wydania bezpośrednio z repozytorium GitHub.
Tworzenie i modyfikacja PDF
Biblioteka open source PoDoFo zawiera pełne wsparcie dla tworzenia i manipulacji dokumentami PDF w bibliotece C++. W swojej istocie PoDoFo wyróżnia się w tworzeniu nowych dokumentów PDF oraz modyfikowaniu istniejących. Programiści mogą dodawać nowe strony, rysować tekst i wstawiać różne elementy graficzne, a także łatwo otwierać zaszyfrowane dokumenty. Poniższy prosty przykład pokazuje, jak programiści mogą stworzyć prosty dokument PDF w aplikacjach C++\n\n\n
Jak stworzyć prosty PDF przy użyciu biblioteki C++?
\n#include \n\nusing namespace PoDoFo;\n\nint main() {\n PdfStreamedDocument document(\"HelloWorld.pdf\");\n PdfPainter painter;\n PdfPage* pPage;\n\n try {\n pPage = document.CreatePage(PdfPage::CreateStandardPageSize(ePdfPageSize_A4));\n painter.SetPage(pPage);\n PdfFont* pFont = document.CreateFont(\"Arial\");\n pFont->SetFontSize(18.0);\n painter.SetFont(pFont);\n painter.DrawText(56.69, pPage->GetPageSize().GetHeight() - 56.69, \"Hello World!\");\n painter.FinishPage();\n document.Close();\n } catch (const PdfError & e) {\n e.PrintErrorMsg();\n return e.GetCode();\n }\n\n return 0;\n}\n \nEkstrakcja tekstu z plików PDF przy użyciu C++
\nBiblioteka PoDoFo zawiera potężny mechanizm umożliwiający ładowanie i wyodrębnianie tekstu z dokumentów PDF przy użyciu zaledwie kilku linii kodu C++. Ta funkcja jest nieoceniona dla aplikacji wymagających indeksowania treści, eksploracji danych lub analizy dokumentów. W poniższym przykładzie kodu programiści mogą wczytać PDF do obiektu PdfMemDocument, iterować po jego stronach i użyć metody ExtractTextTo, aby uzyskać zawartość tekstową.
Jak wczytać i wyodrębnić tekst z plików PDF za pomocą API C++?
#include
using namespace PoDoFo;
PdfMemDocument pdf("document.pdf");
int pageCount = pdf.GetPageCount();
for (int i = 0; i < pageCount; ++i) {
PdfPage* page = pdf.GetPage(i);
PdfContentsTokenizer tokenizer(page);
const char* token = nullptr;
PdfVariant var;
EPdfContentsType type;
while (tokenizer.ReadNext(type, token, var)) {
if (type == ePdfContentsType_Keyword) {
printf("Operator: %s\n", token);
} else if (type == ePdfContentsType_Variant) {
// Examine var as needed
}
}
}
Dodawanie podpisów cyfrowych do PDF za pomocą API C++?
Bezpieczeństwo jest najważniejsze przy pracy z dokumentami urzędowymi. Biblioteka PoDoFo obsługuje dodawanie podpisów cyfrowych do plików PDF, zapewniając autentyczność i integralność Twoich dokumentów. Jest to szczególnie przydatne w przypadku umów, faktur i innych dokumentów prawnych. Chociaż pełny przykład podpisu cyfrowego jest skomplikowany i wymaga ważnego certyfikatu, poniższy kod koncepcyjny ilustruje proces.
Jak dodać podpis cyfrowy do PDF za pomocą C++?
// Conceptual Code - Not a complete working example
#include
using namespace PoDoFo;
int main() {
PdfMemDocument document("unsigned.pdf");
PdfPage* pPage = document.GetPage(0);
// Create a signature field
PdfSignatureField sigField(pPage,
PdfRect(100, pPage->GetPageSize().GetHeight() - 100, 200, 50),
&document);
// Set signature properties
// ...
// Sign the document using a custom signer implementation
// MySigner signer("my_certificate.pfx", "password");
// document.Sign(sigField, signer);
document.Write("signed.pdf");
return 0;
}
Obsługa czcionek i wsparcie Unicode
Darmowa biblioteka PoDoFo zapewnia solidne wsparcie dla różnych typów czcionek, w tym czcionek TrueType i Type1. Biblioteka obsługuje także podzbiory czcionek, co pomaga zmniejszyć rozmiar plików generowanych PDFów. Ponadto jej doskonałe wsparcie Unicode zapewnia możliwość pracy z szeroką gamą języków i zestawów znaków. Pełne wsparcie dla podpisywania PDF (zgodność z PAdES‑B), szyfrowania RSA/ECDSA oraz asynchronicznych lub odroczonych procesów podpisywania.