Przejdź do treści stopki
NARZęDZIA PDF

Jak konwertować PDF na PDF/A w C++

Przenośny Format Dokumentów (PDF) stał się preferowanym formatem do udostępniania dokumentów na różnych platformach. Jednakże wraz ze wzrastającą ważnością archiwizacji cyfrowej, rośnie potrzeba archiwizacji dokumentów w standardowym formacie, który zapewnia długoterminowe przechowywanie i dostępność. Format PDF/A (PDFA) jest specjalnie zaprojektowany do tego celu, oferując stabilny i samodzielny format, który nadaje się do archiwizacji.

Zrozumienie formatu PDF/A

PDF/A, wariant PDF o standardzie ISO, jest zaprojektowany do przechowywania dokumentów w czasie, zachowując dostępność i integralność treści. W przeciwieństwie do zwykłego pliku PDF, plik PDF/A ma określone ograniczenia, które zapewniają jego solidność i niezależność.

Ten artykuł prowadzi przez proces konwersji dokumentów PDF na format PDF/A przy użyciu biblioteki QPDF w C++. QPDF, potężna biblioteka C++, umożliwia programistom programowe zarządzanie i konwersję dokumentów PDF, w tym konwersję PDF do PDF/A, za pomocą zaledwie kilku linii kodu.

Biblioteka QPDF w C++

QPDF to biblioteka C++ i narzędzie wiersza poleceń zaprojektowane do wspomagania pracy z plikami PDF, ich transformacji i analizowania. Pozwala programistom na programowy dostęp i manipulację zawartością plików PDF, z szerokim zakresem wsparcia. QPDF to projekt open-source, który oferuje szereg funkcji, w tym szyfrowanie, deszyfrowanie, linearizację, optymalizację oraz zgodność z formatem PDF/A.

Wymagania wstępne

Przed rozpoczęciem pracy upewnij się, że masz ustawione następujące elementy:

  1. Code::Blocks IDE: Pobierz i zainstaluj Code::Blocks z oficjalnej strony internetowej (Oficjalna Strona Code::Blocks).
  2. Biblioteka QPDF: Pobierz najnowszą wersję biblioteki QPDF dla swojego systemu operacyjnego ze strony QPDF (Oficjalna Strona QPDF).

Tworzenie projektu PDF do PDF/A

  1. Otwórz Code::Blocks: Uruchom IDE Code::Blocks na swoim komputerze.
  2. Utwórz Nowy Projekt: Kliknij Plik w górnym menu, a następnie wybierz Nowy, a potem Projekt.
  3. Wybierz Typ Projektu: W oknie Nowy z szablonu wybierz Aplikacja konsolowa i kliknij Idź. Wybierz język C/C++ i kliknij Dalej.
  4. Podaj Szczegóły Projektu: Podaj nazwę projektu w polu Tytuł projektu (np. "PDFtoPDFA"). Wybierz miejsce do zapisania plików projektu i kliknij Dalej.
  5. Wybierz Kompilator: Wybierz kompilator, a jeśli to konieczne, ręcznie wybierz jeden z listy. Kliknij Zakończ.

Dodawanie QPDF do Projektu

Aby uwzględnić pliki nagłówkowe QPDF w Code::Blocks, wykonaj następujące kroki:

  1. Kliknij Projekt w menu.
  2. Wybierz Opcje budowania z menu kontekstowego.
  3. W oknie Opcje budowania przejdź do zakładki Katalogi wyszukiwania.
  4. W zakładce Kompilator kliknij przycisk Dodaj i przejdz do katalogu zawierającego pliki nagłówkowe QPDF (zazwyczaj znajduje się w folderze include).
  5. Następnie w zakładce Link kliknij przycisk Dodaj i uwzględnij katalogi lib i bin.
  6. Kliknij OK, aby zamknąć okno Opcje budowania.

Dodatkowo, musisz ustanowić połączenie z biblioteką QPDF podczas fazy linkowania. Postępuj zgodnie z poniższymi wskazówkami:

  1. W oknie Opcje budowania przejdź do zakładki Ustawienia linkera.
  2. W sekcji Biblioteki linków kliknij przycisk Dodaj, a następnie wyszukaj katalog z plikami biblioteki QPDF (zazwyczaj z rozszerzeniem .a lub .lib w systemie Windows).
  3. Kliknij Dodaj ponownie i podaj nazwę biblioteki QPDF (np. libqpdf.a lub qpdf.lib).
  4. Kliknij OK, aby zamknąć okno Opcje budowania.

Kroki do Konwersji Pliku PDF na PDF/A

Dodaj Niezbędne Pliki Nagłówkowe

#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>

// The above code includes necessary header files for standard input/output operations and QPDF functionalities.
#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>

// The above code includes necessary header files for standard input/output operations and QPDF functionalities.
C++

Ustaw Ścieżki dla Plików Wejściowych i Wyjściowych

W funkcji main (punkt startowy programu C++) ustaw ścieżki do plików wejściowych i wyjściowych:

std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";

// These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file.
std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";

// These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file.
C++

Utwórz Obiekt QPDF dla Pliku PDF

QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());

// Create a QPDF object for the input PDF and process the file to prepare it for conversion.
QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());

// Create a QPDF object for the input PDF and process the file to prepare it for conversion.
C++

Utwórz Obiekt QPDFWriter dla Zapisu Pliku PDF/A

QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());

// This creates a QPDFWriter object to handle writing the converted PDF/A file.
QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());

// This creates a QPDFWriter object to handle writing the converted PDF/A file.
C++

Ustaw Zgodność PDF/A i Przekonwertuj Dokumenty PDF

writer.setQDFMode(true);
writer.write();

// Set the QPDFWriter to operate in PDF/A compliant mode and write the output file.
writer.setQDFMode(true);
writer.write();

// Set the QPDFWriter to operate in PDF/A compliant mode and write the output file.
C++

Wynik

Plik wyjściowy jest nieedytowalny i zgodny z PDF/A:

Jak Przekonwertować PDF na PDF/A w C++: Rysunek 2

Convert PDF to PDF/A in C

Biblioteka IronPDF to biblioteka PDF dla .NET, która zapewnia kompleksowe funkcjonalności do pracy z dokumentami PDF. Umożliwia programistom tworzenie, modyfikację i konwersję dokumentów PDF za pomocą C# lub VB.NET. Użytkownicy mogą używać IronPDF do generowania plików PDF z HTML, ASPX, dokumentów Word (.doc) lub obrazów dynamicznie oraz wprowadzanie bogatych elementów, takich jak wykresy, tabele i dane obrazów (jak formaty JPG, PNG). Pozwala również na scalanie, dzielenie i edytowanie stron istniejących plików PDF, jak również na ekstrakcję tekstu i manipulację zawartością danych PDF.

IronPDF ułatwia konwersję PDF do formatu PDF/A-3b standard zaledwie kilkoma liniami kodu. Poniższy kod pomaga w realizacji tego zadania:

using IronPdf;

// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);

// The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
using IronPdf;

// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);

// The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
Imports IronPdf

' Create a PdfDocument object or open any PDF file
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")

' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3)

' The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
$vbLabelText   $csharpLabel

Wnioski

Ten artykuł prowadzi przez konwersję standardowego dokumentu PDF na format PDF/A przy użyciu bibliotek QPDF w C++. Zgodność z PDF/A zapewnia przechowywanie i dostępność treści, co czyni go idealnym do archiwizacji.

IronPDF obsługuje również różne formaty konwersji, takie jak HTML, obrazy i dokumenty Word na pliki PDF. Aby uzyskać więcej informacji, odwiedź Stronę Dokumentacji IronPDF.

IronPDF oferuje bezpłatną wersję próbną IronPDF do przetestowania funkcjonalności do produkcji komercyjnej. Pobierz bezpośrednio IronPDF.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie