C++ İle PDF'Den PDFA Dönüştürme
Taşınabilir Belge Formatı (PDF) belgeleri çeşitli platformlarda paylaşmak için en çok tercih edilen formattır. Ancak, dijital arşivlemenin artan önemi ile beraber, belgeleri uzun süreli koruma ve erişilebilirlik sağlamak amacıyla standart bir formatta arşivlemenin giderek artan bir ihtiyaçı vardır. PDF/A (PDFA) formatı, özellikle bu amaç için tasarlanmış, arşivlemeye uygun istikrarlı ve kendi kendine yeterli bir format sunar.
PDF/A'yı Anlamak
ISO tarafından standart hale getirilmiş bir PDF varyantı olan PDF/A, belgelerin zamanla saklanmasını, içerik erişilebilirliğini ve bütünlüğünü korumak için tasarlanmıştır. Normal bir PDF dosyasının aksine, PDF/A dosyası, dayanıklılığını ve kendi kendine yetebilirliğini garantileyen belirli kısıtlamalarla birlikte gelir.
Bu makale, C++'da QPDF kütüphanesini kullanarak PDF belgelerini PDF/A formatına dönüştürme sürecinde size rehberlik ediyor. QPDF, geliştiricilere sadece birkaç satır kodla PDF belgelerini, PDF'den PDF/A'ya dönüştürme dahil programatik olarak yönetme ve dönüştürme imkanı tanıyan güçlü bir C++ kütüphanesidir.
QPDF C++ Kütüphanesi
QPDF, PDF dosyalarıyla çalışma, dönüştürme ve ayrıştırma işlemlerini desteklemek için tasarlanmış bir C++ kütüphanesi ve komut satırı aracıdır. Geliştiricilere geniş destekle PDF dosyalarının içeriğine programatik olarak erişme ve manipüle etme olanağı tanır. QPDF, şifreleme, şifre çözme, lineerleştirme, optimizasyon ve PDF/A uyumluluğu da dahil olmak üzere bir dizi özellik sunan açık kaynaklı bir projedir.
Ön Koşullar
Başlamadan önce, aşağıdaki ayarları yaptığınızdan emin olun:
- Code::Blocks IDE: Resmi web sitesinden Code::Blocks'u indirip kurun (Code::Blocks Resmi Sitesi).
- QPDF Kütüphanesi: İşletim sisteminiz için QPDF kütüphanesinin en son sürümünü QPDF web sitesinden indirin (QPDF Resmi Sitesi).
PDF'den PDF/A'ya Proje Oluşturma
- Code::Blocks'u Açın: Bilgisayarınızda Code::Blocks IDE'yi başlatın.
- Yeni Proje Oluştur: Üst menüde Dosya üzerine tıklayın, ardından Yeni'yi ve ardından Proje'yi seçin.
- Proje Türünü Seç: Şablondan yeni penceresinde Konsol uygulaması seçin ve Git'e tıklayın. C/C++ dilini seçin ve İleriye tıklayın.
- Proje Ayrıntılarını Girin: Proje başlığı alanına bir proje adı girin (örneğin "PDFtoPDFA"). Proje dosyalarını kaydedeceğiniz yeri seçin ve İleri'ye tıklayın.
- Derleyici Seç: Bir derleyici seçin ve gerekiyorsa, liste içinden manuel olarak seçin. Tamamla'ya tıklayın.
Projeye QPDF Ekleme
Code::Blocks'da QPDF başlık dosyalarını dahil etmek için bu adımları takip edin:
- Menüde Proje üzerine tıklayın.
- Bağlam menüsünden Oluşturma seçeneklerini seçin.
- Oluşturma seçenekleri iletişim kutusunda, Arama dizinleri sekmesine gidin.
- Derleyici sekmesinde Ekle düğmesine tıklayın ve QPDF başlık dosyalarını içeren dizine göz atın (genelde include klasöründe yer alır).
- Ardından, Link sekmesinde Ekle butonuna tıklayın ve lib ve bin dizinlerini dahil edin.
- Derleme seçenekleri iletişim kutusunu kapatmak için OK simgesine tıklayın.
Ek olarak, bağlantı aşamasında QPDF kütüphanesi ile bir bağlantı kurmanız gerekmektedir. Aşağıdaki adımları izleyin:
- Derleme seçenekleri iletişim kutusunda, Linker ayarları sekmesine gidin.
- Kütüphanerleri Bağla altında Ekle tıklayın, ardından QPDF kütüphane dosyalarının bulunduğu dizine göz atın (genellikle Windows'ta .a veya .lib dosya uzantılı).
- Tekrar Ekle tıklayın ve QPDF kütüphanenin adını girin (örneğin, libqpdf.a veya qpdf.lib).
- Derleme seçenekleri iletişim kutusunu kapatmak için OK tıklayın.
PDF Dosyasını PDF/A Dosyasına Dönüştürme Adımları
Gerekli Başlık Dosyalarını Dahil Et
# 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.
Giriş ve Çıkış Dosyalarının Yollarını Ayarla
C++ programının başlangıç noktası olan main fonksiyonunda, girdi ve çıktı dosyalarının yolunu belirleyin:
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.
PDF Dosyası için QPDF Nesnesi Oluştur
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.
PDF/A Dosyası Yazmak İçin QPDFWriter Nesnesi Oluşturun
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.
PDF/A Uygunluğunu Ayarla ve PDF Belgelerini Dönüştür
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.
Çıktı
Çıkış dosyası düzenlenemez ve PDF/A uyumludur:

Convert PDF to PDF/A in C
IronPDF Kütüphanesi PDF belgeleri ile çalışmak için kapsamlı işlevsellik sağlayan bir .NET PDF kütüphanesidir. C# veya VB.NET kullanarak PDF belgeleri oluşturmanıza, değiştirmenize ve dönüştürmenize olanak tanır. Kullanıcılar, HTML, ASPX, Word belgeleri (.doc) veya görüntülerden dinamik olarak PDF dosyaları oluşturmak ve grafikler, tablolar, görüntü verileri (JPG, PNG biçimleri gibi) gibi zengin öğeleri dahil etmek için IronPDF kullanabilir. Ayrıca, mevcut PDF dosyalarının sayfalarını birleştirmenize, ayırmanıza ve düzenlemenize, yanı sıra PDF verilerinin metnini çıkarmanıza ve içeriği manipüle etmenize olanak tanır.
IronPDF, sadece birkaç satır kodla PDF'i PDF/A-3b Formatına dönüştürmenizi sağlar. Bu görevi başarmak için aşağıdaki kod yardımıyla gerçekleştirin:
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.
Sonuç
Bu makale, QPDF kütüphanelerini kullanarak bir standart PDF belgesini PDF/A biçimine dönüştürme süreçlerinde size rehberlik etmektedir. PDF/A uyumluluğu, içeriğin korunmasını ve erişilebilirliğini sağlar, bu nedenle arşivleme için idealdir.
IronPDF ayrıca HTML, görüntüler ve Word belgeleri gibi çeşitli biçimlerin PDF dosyalarına dönüştürülmesini destekler. Daha fazla bilgi için, bu IronPDF Belgeleri Sayfasını ziyaret edin.
IronPDF ticari üretimi test etmek için ücretsiz bir deneme lisansı sağlar. IronPDF'i doğrudan indirin.

