Konversi PDF ke PDF / A?

11

Diberikan PDF asal acak, bagaimana saya, di Linux:

  • konfirmasi apakah sudah dalam format PDF / A ?
  • jika tidak dalam format PDF / A, konversikan ke PDF / A dengan hilangnya kesetiaan minimum?

Saya menyadari bahwa konversi dapat menyebabkan hilangnya elemen eksotis dokumen, tetapi mari kita asumsikan bahwa kemampuan untuk membuka dokumen sama sekali dalam waktu yang relatif jauh lebih penting daripada fitur yang rumit (yang mungkin tidak tersedia / dapat dibaca pada saat itu) suatu waktu). Saya lebih suka dapat mengkonfirmasi secara visual keakuratan konversi ketika saya dapat dengan mudah melihat dokumen berdampingan daripada risiko tidak dapat membuka file asli.

sebuah CVn
sumber

Jawaban:

9

Identifikasi

Saya menemukan alat ini yang kelihatannya dapat Anda gunakan untuk mengidentifikasi file PDF / A. Ini disebut DROID (Rekaman Digital dan Identifikasi Objek) . Ini berbasis Java dan dapat dijalankan dari GUI atau baris perintah.

kutipan

DROID adalah alat perangkat lunak yang dikembangkan oleh The National Archives untuk melakukan identifikasi kumpulan otomatis format file. Dikembangkan oleh Departemen Pelestarian Digital sebagai bagian dari kegiatan pelestarian digitalnya yang lebih luas, DROID dirancang untuk memenuhi persyaratan mendasar dari setiap repositori digital untuk dapat mengidentifikasi format yang tepat dari semua objek digital yang disimpan, dan untuk menghubungkan identifikasi itu ke pusat registri. informasi teknis tentang format itu dan dependensinya.

Mengingat itu disponsori oleh Arsip Nasional, saya akan menganggap itu alat yang tepat untuk melakukan ini, mengingat tujuan yang dimaksudkan dari format PDF / A. Juga proyek ini open source dan kode tersedia di Github serta dikemas dalam bentuk biner dari situs Arsip Nasional .

Validasi & Konversi

Jika Anda mencari alat untuk melakukan validasi & konversi, saya yakin PDFBox dapat melakukan ini. PDFBox mencantumkan validasi PDF / A tepat di halaman depan situs web mereka. Ini aplikasi Java lain 8-).

kutipan dari situs web

PDF / A Validasi
Validasi PDF terhadap standar PDF / A ISO.

Di bawah bagian alat baris perintah di sebelah kiri halaman utama mereka menunjukkan penggunaan alat berikut:

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

veraPDF adalah alat lain yang mampu memvalidasi PDF / A; itu adalah bagian dari set alat referensi Open Preservation Foundation. Ini juga merupakan aplikasi Java.

Konversi

Untuk hanya melakukan konversi saya menemukan metode ini dari posting blog berjudul: Cara Gratis untuk mengkonversi PDF yang ada untuk PDF / A , yang menggunakan alat-alat berikut:

  • Ghostscript 8.64 Hanya.
  • PDFBox 0.7.3
  • pdfmarks (file untuk memasok data meta tambahan)
  • PDFA_def.ps
  • USWebCoatedSWOP.icc

Dengan di atas di tempat Anda menggunakan perintah berikut:

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

Bukan tanpa kutil. Artikel ini membahas salah satunya, memperbaiki bendera cetak pada hyperlink menjadi salah satunya. Artikel ini menyediakan aplikasi Java yang dapat Anda gunakan untuk memperbaikinya:

$ java FixPrintFlag Out_PDFA.pdf New_verifiablePDFA.pdf

Itu tidak cantik tetapi tampaknya bisa diterapkan. Lihat artikel untuk lebih jelasnya.

Referensi

slm
sumber
Saya harus mencoba ini - ini terlihat sangat menjanjikan. Dengan sedikit mengutak-atik bahkan mungkin untuk mengintegrasikan ini ke dalam printer CUPS-PDF; ada pengaturan di /etc/cups/cups-pdf.conf yang terlihat menjanjikan untuk tujuan itu. Terima kasih telah meluangkan waktu! Tidak benar-benar ingin mengujinya sekarang tapi saya akan kembali ke ini (semoga besok).
CVn
@ MichaelKjörling - terima kasih atas pertanyaannya. Saya belum pernah mendengar tentang format PDF / A sebelumnya dan kami membutuhkan hal yang tepat ini di tempat kerja. Jadi Anda membantu saya terlihat seperti orang jenius karena mengetahui tentang hal ini sekarang 8-).
slm
Apa pdfmarks?
Andrew
1

Untuk identifikasi file, perintah fileini sering membantu. Ini akan mencari file Anda untuk angka ajaib, pengidentifikasi file, informasi penyandian, dll. Untuk memberikan informasi yang dapat membantu.

Dalam kasus tertentu file PDF, utiliti pdfinfosangat berguna. Dalam kasus saya, distribusi Gentoo, ini dikemas dengan poppler, pustaka rendering PDF.

lororget
sumber
1
pdfinfo -metadan melihat xmpmeta/RDF/Description/conformancesepertinya mengatakan apakah PDF itu PDF / A (simpul itu A) atau tidak (simpul itu tidak ada atau memiliki nilai lain). Ini awal!
CVn
0

Berikut ini skrip baris perintah bash yang melakukan hal itu:

#!/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

Simpan dalam file bernama pdf2pdfa.sh yang ada di jalur Anda, lalu panggil seperti ini:

pdf2pdfa.sh input.pdf

Ini akan membuat input_a.pdf.

daruma
sumber
1
(1) Tolong jelaskan apa yang dilakukannya. (2) Apa itu input? Aku mengerti pdf_input, tapi apa itu input? (3) Anda harus selalu mengutip variabel shell kecuali Anda memiliki alasan yang kuat untuk tidak melakukannya, dan Anda yakin tahu apa yang Anda lakukan. Tolong jangan menanggapi dalam komentar; edit  jawaban Anda untuk membuatnya lebih jelas dan lebih lengkap.
G-Man Mengatakan 'Reinstate Monica'