Altbilgi içeriğine atla
PDF ARAçLARı

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:

  1. Code::Blocks IDE: Resmi web sitesinden Code::Blocks'u indirip kurun (Code::Blocks Resmi Sitesi).
  2. 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

  1. Code::Blocks'u Açın: Bilgisayarınızda Code::Blocks IDE'yi başlatın.
  2. Yeni Proje Oluştur: Üst menüde Dosya üzerine tıklayın, ardından Yeni'yi ve ardından Proje'yi seçin.
  3. 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.
  4. 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.
  5. 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:

  1. Menüde Proje üzerine tıklayın.
  2. Bağlam menüsünden Oluşturma seçeneklerini seçin.
  3. Oluşturma seçenekleri iletişim kutusunda, Arama dizinleri sekmesine gidin.
  4. 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).
  5. Ardından, Link sekmesinde Ekle butonuna tıklayın ve lib ve bin dizinlerini dahil edin.
  6. 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:

  1. Derleme seçenekleri iletişim kutusunda, Linker ayarları sekmesine gidin.
  2. 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ı).
  3. Tekrar Ekle tıklayın ve QPDF kütüphanenin adını girin (örneğin, libqpdf.a veya qpdf.lib).
  4. 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.
C++

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.
C++

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.
C++

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.
C++

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.
C++

Çıktı

Çıkış dosyası düzenlenemez ve PDF/A uyumludur:

C++'da PDF'yi PDF/A'ya Dönüştürme Yöntemi: Sekil 2

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.
$vbLabelText   $csharpLabel

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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara