Untuk scripting saya perlu mendapatkan dimensi halaman dari file PDF (dalam mm).
pdfinfo
cukup cetak dalam 'pts', mis:
Page size: 624 x 312 pts
Apa yang harus saya gunakan?
Atau unit apa itu 'Poin' - kalau-kalau saya ingin mengubahnya ...
Jawaban:
Unit 'pts' yang digunakan oleh
pdfinfo
menunjukkan titik PostScript. Sebuah titik PostScript didefinisikan dalam hal inci dan resolusi 72 titik per inci:Manual untuk
gv
memuat daftar format kertas umum yang ditentukan dalam poin PostScript.sumber
pdfinfo
kadang-kadang memberi saya format kertas (sepertiPage size: 595.28 x 841.89 pts (A4)
) - Saya ingin tahu apakah itu untuk daftar ukuran halaman yang diketahuinya?Bukan cara termudah, tapi diberikan
imagemagick
danunits
Anda juga bisa menggunakannyauntuk menemukan ukuran halaman dalam inci (ini dapat menghasilkan beberapa hasil jika PDF menggunakan dimensi yang berbeda) dan kemudian mengonversi angka-angka seperti ini:
Berarti 8,26 inci adalah 209,9 mm (saya menggunakan A4 PDF untuk ini).
sumber
identify
PDF pada OS XI saya tidak mendapatkan output.identify
membutuhkan ImageMagickDatang di masalah yang sama dan datang ke solusi berikut. Saya tidak masuk ke dokumentasi tentang bagaimana file pdf dibangun. Saya hanya membandingkan dua file pdf kosong dengan ukuran halaman yang berbeda.
Sepertinya pdf memiliki semua jenis atribut yang disematkan antara "<<" dan ">>". Saya menemukan bahwa info ukuran halaman ada dalam teks biasa dan dapat ditemukan dengan pencarian regex sederhana.
Ini mungkin atau mungkin tidak benar untuk semua pdf tetapi itu bekerja pada semua yang dapat saya temukan dari sumber yang berbeda.
Bagian yang relevan dapat terlihat seperti ini untuk halaman ukuran A4:
Ini berarti [0 0 lebar lebar] jadi di sini adalah solusi super timpang saya tetapi berfungsi untuk mengekstrak ini:
Ubah saja test.pdf ke file Anda.
sumber
Saya menggunakan jawaban maxchlepzigs untuk menghitung mm secara langsung:
$ pdfinfo test.pdf | grep "Page size" | grep -Eo '[-+]?[0-9]*\.?[0-9]+' | awk -v x=0.3528 '{print $1*x}'
ini juga bekerja dengan jawaban Alex Knaufs tetapi mengidentifikasi membutuhkan waktu lebih lama dari pdfinfo dan memerlukan imagemagick, meskipun terbalik adalah bahwa Anda dapat menggunakan ini untuk beberapa file (yaitu dengan cd ke direktori dan menggunakan
*.pdf
):$ identify -verbose some.pdf | grep "Print size" | grep -Eo '[-+]?[0-9]*\.?[0-9]+' | awk -v x=25.4 '{print $1*x}'
grep
Perintah kedua mendapatkan nilai dua titik / inci. Saya cukup yakin Anda dapat melewati reg grep dan melakukannya langsung dengan awk tetapi saya tidak bisa mengetahuinya.sumber