PDF'yi PDF / A'ya dönüştürme?


11

Linux'ta rasgele kaynaklı bir PDF verildiğinde, nasıl yapabilirim:

  • PDF / A biçiminde olup olmadığını onaylamak istiyor musunuz?
  • PDF / A biçiminde değilse, aslına uygunluk kaybı ile PDF / A'ya dönüştürülsün mü?

Dönüştürmenin belgenin egzotik öğelerinin kaybına neden olabileceğinin farkındayım, ancak belgeyi nispeten uzak bir gelecekte açma yeteneğinin, bu tür gösterişli özelliklerden (bu gibi mevcut / okunamayabilir) daha önemli olduğunu varsayalım yine de bir zaman). Orijinal dosyayı açamama riskinden ziyade belgeleri yan yana görüntüleyebileceğimde, dönüşümün doğruluğunu görsel olarak onaylamayı tercih ederim.

Yanıtlar:


9

Kimlik

PDF / A dosyalarını tanımlamak için kullanabileceğiniz bu aracı buldum. Buna DROID (Dijital Kayıt ve Nesne Tanımlama) denir . Java tabanlıdır ve bir GUI'den veya komut satırından çalıştırılabilir.

alıntı

DROID, Ulusal Arşivler tarafından dosya formatlarının otomatik toplu olarak tanımlanması için geliştirilmiş bir yazılım aracıdır. Dijital Koruma Departmanı tarafından daha geniş dijital koruma faaliyetlerinin bir parçası olarak geliştirilen DROID, depolanan tüm dijital nesnelerin kesin formatını tanımlayabilmek ve bu tanımlamayı merkezi bir kayıt defterine bağlamak için herhangi bir dijital deponun temel gereksinimlerini karşılamak üzere tasarlanmıştır. biçim ve bağımlılıkları hakkında teknik bilgi.

Ulusal Arşivler tarafından desteklendiği göz önüne alındığında, PDF / A formatının amaçlanan amacı göz önüne alındığında, bunun için doğru araç olduğunu varsayacağım. Ayrıca proje açık kaynak kodludur ve kod Github'da mevcut olup Ulusal Arşivler web sitesinden ikili biçimde paketlenmiştir .

Doğrulama ve Dönüşüm

Doğrulama ve dönüştürme işlemini gerçekleştirmek için bir araç arıyorsanız PDFBox'ın bunu yapabileceğine inanıyorum . PDFBox, web sitelerinin ön sayfasında PDF / A doğrulamasını listeler. Başka bir Java uygulaması 8-).

web sitesinden alıntı

PDF / A Doğrulaması
PDF'leri PDF / A ISO standardına göre doğrulayın.

Altında komut satırı araçları bölümünde aracı için aşağıdaki kullanımını gösterir onların ana sayfanın solundaki:

$ java -jar pdfbox-app-x.y.z.jar org.apache.pdfbox.ConvertColorspace [OPTIONS] <inputfile> <outputfile>

veraPDF , PDF / A'yı doğrulayabilen başka bir araçtır; Açık Koruma Vakfı'nın referans araç setinin bir parçasıdır. Aynı zamanda bir Java uygulamasıdır.

Dönüştürmek

Sadece dönüşüm yapmak için şu yöntemi başlıklı bir blog gönderisinden buldum: Aşağıdaki araçları kullanan mevcut bir PDF'yi PDF / A'ya dönüştürmenin ücretsiz yolu :

  • Yalnızca Ghostscript 8.64.
  • PDFBox 0.7.3
  • pdfmarks (ek meta veri sağlayan dosya)
  • PDFA_def.ps
  • USWebCoatedSWOP.icc

Yukarıdakiler yerinde olduğunda aşağıdaki komutu kullanırsınız:

$ gs -sDEVICE=pdfwrite -q -dNOPAUSE -dBATCH -dNOSAFER     \
-dPDFA -dUseCIEColor -sProcessColorModel=DeviceCMYK       \
-sOutputFile=Out_PDFA.pdf PDFA_def.ps pdfmarks IN_PDF.pdf

Siğiller olmadan değil. Makale, bunlardan birini tartışıyor, baskı bayraklarını bunlardan biri olan köprülere sabitliyor. Makale, bunları düzeltmek için kullanabileceğiniz bir Java uygulaması sağlar:

$ java FixPrintFlag Out_PDFA.pdf New_verifiablePDFA.pdf

Güzel değil ama uygulanabilir gibi görünüyor. Daha fazla ayrıntı için makaleye bakın.

Referanslar


Bunu denemek zorundayım - çok umut verici görünüyor. Biraz uğraşarak, bunu CUPS-PDF yazıcısına entegre etmek bile mümkün olabilir; /etc/cups/cups-pdf.conf dosyasında bu amaç için umut verici görünen ayarlar vardır. Zaman ayırdığınız için teşekkürler! Şu anda gerçekten test etmeye hazır değilim ama buna geri döneceğim (umarım yarın).
CVn

@ MichaelKjörling - soru için teşekkürler. Daha önce PDF / A formatını hiç duymamıştım ve işte bu tam şeye ihtiyacımız var. Yani şimdi bunları bilmek için bir dahi gibi görünmeme yardım ettin 8-).
slm

Nedir pdfmarks?
Andrew


1

Dosya tanımlama için komut filegenellikle yardımcı olur. Yardımcı olabilecek bilgileri vermek için dosyanızı sihirli sayılar, dosya tanımlayıcılar, kodlama bilgileri vb. Arar.

Belirli PDF dosyalarında, kullanıcı pdfinfoözellikle yararlıdır. Benim durumumda, bir Gentoo dağıtımı poppler, bir PDF oluşturma kütüphanesi ile paketlenmiştir .


1
pdfinfo -metave bakmak xmpmeta/RDF/Description/conformancePDF'nin PDF / A (bu düğümün) olup Aolmadığını (düğümün mevcut olmadığını veya başka bir değere sahip olduğunu) söylüyor. Bu bir başlangıç!
CVn

0

İşte bunu yapan bir bash komut satırı komut dosyası:

#!/bin/bash

pdf_input=$1
ps_output=${pdf_input%.*}.ps
pdfa_output=${pdf_input%.*}_a.pdf
pdftops $input $ps_output

gs -dPDFA -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=$pdfa_output $ps_output

Yolunuzdaki pdf2pdfa.sh adlı bir dosyaya kaydedin, ardından şu şekilde çağırın:

pdf2pdfa.sh giriş.pdf

İnput_a.pdf dosyasını oluşturur.


2
(1) Lütfen bunun ne yaptığını açıklayın. (2) Nedir input? Anlıyorum pdf_input, ama nedir input? (3) Yapmamak için iyi bir nedeniniz olmadığı sürece her zaman kabuk değişkenlerini belirtmelisiniz ve ne yaptığınızı bildiğinizden emin olabilirsiniz . Lütfen yorumlarda yanıt vermeyin;  daha net ve eksiksiz hale getirmek için cevabınızı düzenleyin .
G-Man
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.