API C++ Miễn phí để Tạo, Thao tác & Phân tích Tệp PDF.

Thư viện Mã nguồn mở hàng đầu về thao tác PDF cho phép các nhà phát triển C++ dễ dàng Tạo, Thao tác, Mã hoá, Quản lý Phông chữ và Phân tích Tài liệu PDF trong các ứng dụng C++.

Thư viện PoDoFo là gì?

Trong thế giới phát triển C++, khả năng tạo, sửa đổi và trích xuất dữ liệu từ các tệp PDF một cách lập trình là một yêu cầu phổ biến. Thư viện PoDoFo, một thư viện mã nguồn mở và di động cho C++17, nổi lên như một giải pháp mạnh mẽ và đa năng cho mọi thứ liên quan đến PDF. PoDoFo là một công cụ miễn phí và được thiết kế để làm việc với định dạng tệp PDF. Nó cho phép các nhà phát triển phần mềm phân tích các tệp PDF, kiểm tra các thực thể PDF cấp cao (như chú thích và trường biểu mẫu), sửa đổi chúng trong bộ nhớ và ghi lại các thay đổi trở lại đĩa trong các ứng dụng của họ. Thư viện cũng giúp dễ dàng xây dựng các tệp PDF mới từ đầu mà không cần bất kỳ phụ thuộc bên ngoài nào.

PoDoFo là một thư viện C++ mạnh mẽ, cho phép các nhà phát triển phần mềm làm việc với Định dạng Tài liệu Di động (PDF) một cách lập trình. Được cấp phép dưới LGPL v2.0 hoặc phiên bản sau cho thư viện, và GPL v2.0 hoặc phiên bản sau cho các công cụ đi kèm, thư viện PoDoFo đảm bảo tính linh hoạt và mở cho cả dự án thương mại và mã nguồn mở. Nó cung cấp một bộ công cụ phong phú để phân tích, thao tác và tạo tài liệu PDF từ đầu. Cho dù bạn cần tự động tạo báo cáo, trích xuất văn bản để phân tích dữ liệu, hay thêm chữ ký số để bảo mật, PoDoFo cung cấp một API toàn diện và linh hoạt để đáp ứng nhu cầu của bạn.

Previous Next

Bắt đầu với PoDoFo

Cách khuyến nghị để cài đặt PoDoFo là sử dụng CMake. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ.

Cài đặt PPTXTemplater từ 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

Cài đặt PPTXTemplater từ GitHub

 git clone https://github.com/podofo/podofo.git

Bạn cũng có thể cài đặt thủ công; tải xuống các tệp phát hành mới nhất trực tiếp từ GitHub.

Tạo và chỉnh sửa PDF

Thư viện mã nguồn mở PoDoFo đã bao gồm hỗ trợ đầy đủ cho việc tạo và thao tác tài liệu PDF trong thư viện C++. Ở cốt lõi, PoDoFo xuất sắc trong việc tạo tài liệu PDF mới và chỉnh sửa các tài liệu hiện có. Các nhà phát triển phần mềm có thể thêm các trang mới, vẽ văn bản và chèn các yếu tố đồ họa khác nhau, mở tài liệu được mã hoá một cách dễ dàng. Ví dụ đơn giản sau đây minh họa cách các nhà phát triển phần mềm có thể tạo một tài liệu PDF đơn giản trong các ứng dụng C++

Làm thế nào để tạo một PDF đơn giản qua Thư viện C++?

#include 

using namespace PoDoFo;

int main() {
    PdfStreamedDocument document("HelloWorld.pdf");
    PdfPainter painter;
    PdfPage* pPage;

    try {
        pPage = document.CreatePage(PdfPage::CreateStandardPageSize(ePdfPageSize_A4));
        painter.SetPage(pPage);
        PdfFont* pFont = document.CreateFont("Arial");
        pFont->SetFontSize(18.0);
        painter.SetFont(pFont);
        painter.DrawText(56.69, pPage->GetPageSize().GetHeight() - 56.69, "Hello World!");
        painter.FinishPage();
        document.Close();
    } catch (const PdfError & e) {
        e.PrintErrorMsg();
        return e.GetCode();
    }

    return 0;
}
 

Trích xuất Văn bản từ các Tập tin PDF qua C++

Thư viện PoDoFo đã bao gồm một cơ chế mạnh mẽ để tải và trích xuất văn bản từ các tài liệu PDF chỉ với một vài dòng mã C++. Tính năng này vô giá đối với các ứng dụng cần lập chỉ mục nội dung, khai thác dữ liệu hoặc phân tích tài liệu. Trong ví dụ mã sau, các nhà phát triển có thể tải một PDF vào PdfMemDocument, duyệt qua các trang của nó và sử dụng phương thức ExtractTextTo để lấy nội dung văn bản.

Cách tải và trích xuất văn bản từ tệp PDF thông qua 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
        }
    }
}

 

Thêm chữ ký số vào PDF qua API C++?

Bảo mật là yếu tố tối quan trọng khi xử lý các tài liệu chính thức. Thư viện PoDoFo hỗ trợ việc thêm chữ ký số vào các tệp PDF, đảm bảo tính xác thực và toàn vẹn của tài liệu của bạn. Điều này đặc biệt hữu ích cho hợp đồng, hoá đơn và các tài liệu pháp lý khác. Mặc dù một ví dụ đầy đủ về chữ ký số phức tạp và đòi hỏi chứng chỉ hợp lệ, đoạn mã khái niệm sau đây minh họa quy trình.

Cách thêm chữ ký số vào PDF thông qua 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;
}
 

Xử lý phông chữ và hỗ trợ Unicode

Thư viện PoDoFo miễn phí cung cấp hỗ trợ mạnh mẽ cho nhiều loại phông chữ, bao gồm phông TrueType và Type1. Thư viện cũng xử lý việc chia nhỏ phông chữ, giúp giảm kích thước tệp PDF được tạo ra. Hơn nữa, hỗ trợ Unicode xuất sắc của nó đảm bảo bạn có thể làm việc với nhiều ngôn ngữ và bộ ký tự khác nhau. Hỗ trợ đầy đủ cho việc ký PDF (tuân thủ PAdES-B), mã hóa RSA/ECDSA, và các quy trình ký bất đồng bộ hoặc hoãn lại.

 Tiếng Việt