Pdf.js: tambahkan ukuran kertas ke informasi dokumen

Dibuat pada 15 Feb 2016  ·  29Komentar  ·  Sumber: mozilla/pdf.js

Apakah mungkin Anda menambahkan ukuran kertas ke informasi dokumen?

Hal ini penting untuk diketahui apakah dokumen tersebut menggunakan ukuran kertas letter atau A4 (antara lain).

1-viewer 2-feature

Komentar yang paling membantu

Saya tidak bisa membuat kode, jadi pembuat kode berpengalaman dapat memberikan saran yang lebih baik.

Saya yakin kontributor inti akan berpikiran terbuka tentang cara mengatasi masalah ini. Perhatian utama di sini adalah bahwa solusi tidak boleh rumit dan tidak menambah beban dalam pemeliharaan proyek di masa mendatang.

Secara pribadi, sebagai langkah pertama, saya hanya akan menambahkan informasi ukuran halaman tanpa nama "bagus" (untuk menghindari pelokalannya), mungkin unit deteksi (otomatis). Langkah kedua adalah diskusi tentang nama ukuran halaman dan orientasi.

Semua 29 komentar

Dan bisakah itu termasuk potret / lanskap?

Bagaimana perilaku yang diharapkan jika beberapa ukuran halaman / orientasi digunakan, yaitu, beberapa halaman adalah potret A4, tetapi beberapa adalah lanskap A3 misalnya? Bagaimana penonton lain melakukannya?

dan juga kita perlu berurusan dengan internasionalisasi dan lokalisasi, misalnya

  • "A4" atau "Letter" perlu diterjemahkan
  • 10cm × 15cm harus dalam inci untuk AS

Re: rotasi. Saya akan memeriksa apa yang PR 8043 lakukan untuk saya. Itu mungkin memperbaiki masalah saya. Sepertinya saya benar-benar perlu membaca PR 8043 dan # 6103 dengan benar, dan memastikan saya pada rilis terlambat dengan perbaikan yang diterapkan.

Re: multi ukuran. Tidak tahu apakah ada backend cetak yang mendukung itu tanpa membagi hasil cetak menjadi beberapa pekerjaan cetak. Jika Anda tidak membagi pekerjaan cetak, Anda memiliki "cetak di terbesar" atau "skala ke terkecil" sebagai opsi yang masuk akal.

Cups menyertakan header ukuran media dengan setiap pekerjaan cetak, jadi Linux dan MacOS dibatasi pada satu ukuran per pekerjaan cetak, sejauh yang saya tahu.

Re: lokalisasi.
Printer memiliki daftar kemungkinan dan ukuran kertas yang tersedia.
Dialog pencetakan OS mengetahui lokal pengguna, dan daftar printer.
Dialog pencetakan OS tidak mengetahui ukuran aslinya.
Penampil pdf mengetahui lokal, tetapi bukan daftar printer, jadi bukan daftar kertas yang tersedia.
Penampil pdf mengetahui ukuran PDF asli.
Generator pdf mengetahui lokal server dan klien.
Pengguna membenci "surat beban pc"

Re: rotasi. Saya akan memeriksa apa yang PR 8043 lakukan untuk saya.
Re: multi ukuran. Entah apakah ada backend cetak yang mendukungnya tanpa membelah hasil cetak i ..
Perihal: lokalisasi ... Printer memiliki daftar kemungkinan dan ukuran kertas yang tersedia ...

@berenddeschouwer Saya rasa semua hal di atas tidak terkait dengan OP

Bagaimana perilaku yang diharapkan jika beberapa ukuran halaman / orientasi digunakan, yaitu, beberapa halaman adalah potret A4, tetapi beberapa adalah lanskap A3 misalnya? Bagaimana penonton lain melakukannya?

@timvandermeij , SumatraPDF menampilkan ukuran halaman yang diramban (yang memiliki nomor pada bilah alat).

dan juga kita perlu berurusan dengan internasionalisasi dan lokalisasi, misalnya

  • "A4" atau "Letter" perlu diterjemahkan
  • 10cm × 15cm harus dalam inci untuk AS

@yurydelendik , menurut saya A4 perlu diterjemahkan.

Dan sejauh yang saya tahu, dimensi halaman ditentukan dalam poin di dalam dokumen PDF. Jadi PDF.js harus menggunakan unit dimensi default dari OS.

@ousia berapa ukuran halaman yang diharapkan untuk dokumen di https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdf ?

@ousia berapa ukuran halaman yang diharapkan untuk dokumen di https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdf?

@yurydelendik , saya tidak mengerti pertanyaan Anda.

Ukuran adalah properti yang terkait dengan halaman sebenarnya, bukan dengan dokumen.

dalam istilah PDF, /MediaBox adalah entri dalam kamus /Page , bukan dalam /Catalog ( /Pages adalah entri di sana).

Manakah yang seharusnya menjadi ukuran halaman dalam dokumen yang Anda sebutkan?

_Acrobat Reader_ menampilkan dimensi dari halaman yang ditampilkan. Ini dia.

pageone

pagetwo

pagethree

Terima kasih telah menyediakan informasi ini! Sekarang ini sudah jelas, saya pikir ini seharusnya bagus untuk diterapkan. Saya menandai ini sebagai bug pemula yang baik karena seharusnya tidak terlalu sulit.

Saya bisa melumpuhkan ini jika tidak ada yang mengerjakannya.

@loganhuskins Itu milikmu!

Saya rasa saya sudah cukup dekat, saya ingin menggunakan getPagesOverview() dari base_viewer .

Haruskah saya mengimpor import { BaseViewer } from './base_viewer'; dalam pdf_document_properties dan kemudian melakukan BaseViewer.getPagesOverview()[0] sebagai nilai untuk pageSize yang saya rencanakan untuk ditampilkan? Ini sepertinya tidak berhasil, apakah ada metode util yang dapat saya gunakan kembali untuk mendapatkan informasi ini. Maaf telah membajak ini dari Logan.

Aku sudah selesai dengan pekerjaan, jadi jika kamu mengambil alih ini, aku baik-baik saja.

Hai,
Apakah ini yang ingin Anda lakukan?

compressed tracemonkey pldi 09 pdf

@ linton-Portman, dalam hal ini menambahkan _Letter, portrait_ akan bagus.

Maksud saya, dengan ukuran kertas standar berguna untuk memberikan nama kertas standar.

Lihat apa yang dilakukan _Evince_:

evince-properties

Dan _SumatraPDF_:

sumatrapdf-properties

Maksud saya, dengan ukuran kertas standar berguna untuk memberikan nama kertas standar.

Itu berarti kita perlu melokalkan semua nama ini dengan benar. Apakah ada daftar pendek ukuran kertas yang populer?

Hai,
Dari apa yang telah saya baca sejauh ini perbedaannya adalah pada ukuran kertas (US letter = 8,50 x 11,00 inci & UK A4 = 8,26 x 11,69 inci) ... Cara saya mendekatinya menggunakan serangkaian pernyataan if / else memeriksa ukuran ini. Kemudian ini akan menentukan teks apa yang akan ditampilkan .... Dengan juga menggunakan ukuran ini Anda juga dapat menentukan apakah potret atau lanskap ....

Ini akan menjadi banyak pernyataan if / else tergantung pada berapa banyak ukuran kertas yang disediakan ....
Saya seorang pemula / pemula jadi mungkin ada cara yang lebih baik :)

a4 portrait pdf
letter portrait pdf

Perhatikan bahwa ukuran A4 lebih baik dinyatakan dalam mm, misalnya 210mm x 297mm

@yurydelendik Oh ya saya bisa melakukan itu juga.

Di sini Anda memiliki daftar (yang saya adaptasi dari ConTeXt).

Ukuran kertas standar Eropa:

[A0] [lebar = 841mm, tinggi = 1189mm]
[A1] [lebar = 594mm, tinggi = 841mm]
[A2] [lebar = 420mm, tinggi = 594mm]
[A3] [lebar = 297mm, tinggi = 420mm]
[A4] [lebar = 210mm, tinggi = 297mm]
[A5] [lebar = 148mm, tinggi = 210mm]
[A6] [lebar = 105mm, tinggi = 148mm]
[A7] [lebar = 74mm, tinggi = 105mm]
[A8] [lebar = 52mm, tinggi = 74mm]
[A9] [lebar = 37mm, tinggi = 52mm]
[A10] [lebar = 26mm, tinggi = 37mm]

Ukuran kertas standar Eropa yang kurang umum:

[B0] [lebar = 1000mm, tinggi = 1414mm]
[B1] [lebar = 707mm, tinggi = 1000mm]
[B2] [lebar = 500mm, tinggi = 707mm]
[B3] [lebar = 353mm, tinggi = 500mm]
[B4] [lebar = 250mm, tinggi = 353mm]
[B5] [lebar = 176mm, tinggi = 250mm]
[B6] [lebar = 125mm, tinggi = 176mm]
[B7] [lebar = 88mm, tinggi = 125mm]
[B8] [lebar = 62mm, tinggi = 88mm]
[B9] [lebar = 44mm, tinggi = 62mm]
[B10] [lebar = 31mm, tinggi = 44mm]

Ukuran amplop standar Eropa:

[C0] [lebar = 917mm, tinggi = 1297mm]
[C1] [lebar = 648mm, tinggi = 917mm]
[C2] [lebar = 458mm, tinggi = 648mm]
[C3] [lebar = 324mm, tinggi = 458mm]
[C4] [lebar = 229mm, tinggi = 324mm]
[C5] [lebar = 162mm, tinggi = 229mm]
[C6] [lebar = 114mm, tinggi = 162mm]
[C7] [lebar = 81mm, tinggi = 114mm]
[C8] [lebar = 57mm, tinggi = 81mm]
[C9] [lebar = 40mm, tinggi = 57mm]
[C10] [lebar = 28mm, tinggi = 40mm]

Ukuran kertas sampul CD:

[CD] [lebar = 120mm, tinggi = 120mm]

Ukuran kertas standar Amerika:

[letter] [lebar = 8,5 inci, tinggi = 11 inci]
[buku besar] [lebar = 11 inci, tinggi = 17 inci]
[tabloid] [lebar = 17 inci, tinggi = 11 inci]

[legal] [lebar = 8,5 inci, tinggi = 14 inci]
[folio] [lebar = 8,5 inci, tinggi = 13 inci]
[eksekutif] [lebar = 7,25 inci, tinggi = 10,5 inci]

Set amplop yang berbeda:

[amplop 9] [lebar = 8,88 inci, tinggi = 3,88 inci]
[amplop 10] [lebar = 9,5 inci, tinggi = 4,13 inci]
[amplop 11] [lebar = 10,38 inci, tinggi = 4,5 inci]
[amplop 12] [lebar = 11,0 inci, tinggi = 4,75 inci]
[amplop 14] [lebar = 11,5 inci, tinggi = 5,0 inci]
[raja] [lebar = 7,5 inci, tinggi = 3,88 inci]
[periksa] [lebar = 8,58 inci, tinggi = 3,88 inci]
[DL] [lebar = 110mm, tinggi = 220mm]
[E4] [lebar = 280mm, tinggi = 400mm]

Saya rasa akan berguna untuk menambahkan apakah orientasinya potret atau lanskap.

@ linton-Portman, dari apa yang saya lihat di tangkapan layar Anda, saya punya pertanyaan:

Bukankah info berikut lebih baik?

Letter, portrait (8.5  × 11 in)

Maksud saya, adaptasi berikut ini:

  • Gunakan nama kertas terlebih dahulu.

  • Diikuti oleh _portrait_ atau _landscape_.

    BTW, jika pemisahan sebelumnya adalah koma, menurut saya kata tersebut harus dimulai dengan huruf kecil.

  • Tuliskan dimensi di dalam tanda kurung.

    • Lebih baik menggunakan tanda Unicode yang tepat _ × _ (daripada _x_).

    • Ukuran kertas mana yang memerlukan dimensi mana yang ditentukan dalam daftar sebelumnya.

    • Saya pikir lebih baik menggunakan singkatan untuk satuan panjang (_in_ atau _mm_ dalam kasus ini).

Jika itu tidak memungkinkan, _portrait_ atau _landscape_ harus dimasukkan ke dalam tanda kurung.

Terima kasih banyak atas kontribusi Anda.

@ linton-Portman, menggunakan switch mungkin merupakan alternatif yang lebih baik untuk pernyataan if... else .

Saya tidak bisa membuat kode, jadi pembuat kode berpengalaman dapat memberikan saran yang lebih baik. (Saya hanya menjawab pertanyaan Anda, karena tetap tidak terjawab).

Di sini Anda memiliki daftar (yang saya adaptasi dari ConTeXt).

Semua itu perlu diterjemahkan. Secara pribadi saya lebih suka menemukan 5-10 ukuran halaman yang paling sering digunakan dan memberi mereka nama.

Surat, potret (8,5 × 11 inci)

Karena itu: "8,5 in × 11 in, Letter / Portrait" atau hanya "100mm x 200mm" mungkin terlihat sebagai pilihan yang lebih baik di sini

Lebih baik menggunakan tanda Unicode × (daripada x).

Ya, tetapi juga terserah pelokalan untuk budaya tertentu

Saya tidak bisa membuat kode, jadi pembuat kode berpengalaman dapat memberikan saran yang lebih baik.

Saya yakin kontributor inti akan berpikiran terbuka tentang cara mengatasi masalah ini. Perhatian utama di sini adalah bahwa solusi tidak boleh rumit dan tidak menambah beban dalam pemeliharaan proyek di masa mendatang.

Secara pribadi, sebagai langkah pertama, saya hanya akan menambahkan informasi ukuran halaman tanpa nama "bagus" (untuk menghindari pelokalannya), mungkin unit deteksi (otomatis). Langkah kedua adalah diskusi tentang nama ukuran halaman dan orientasi.

Saya mencobanya, karena belum ada komunikasi di sini sejak 2 bulan atau lebih. Minta maaf jika saya harus bertanya sebelumnya.
PR menambahkan tampilan Ukuran Halaman dalam pt, yang merupakan permulaan. Langkah selanjutnya (seperti yang dijelaskan di sini) adalah mengonversinya menjadi cm / mm / inci / ... dan mencoba menemukan ukuran dokumen standar yang cocok. Keduanya tidak diimplementasikan dalam PR ini.

Permintaan tarik di atas menerapkan sebagian besar fitur ini. Yang masih harus dilakukan adalah menampilkan ukuran halaman dari halaman yang saat ini terlihat, bukan hanya dari yang pertama. Secara opsional, letter / portrait dan ukuran halaman default (seperti A4) dapat ditambahkan, tetapi saya tidak melihatnya sebagai kewajiban untuk menyelesaikan masalah ini.

Lebih banyak perbaikan telah dibuat di # 9577, yang juga diimplementasikan dengan menunjukkan ukuran halaman dari halaman yang terlihat saat ini. Untuk masalah ini, hanya tersisa ukuran letter / portrait dan default halaman.

Bagian terakhir diimplementasikan oleh permintaan pull di atas (orientasi halaman dan nama ukuran halaman). Menutup sebagai sudah diperbaiki.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

patelsumit5192 picture patelsumit5192  ·  3Komentar

kleins05 picture kleins05  ·  3Komentar

AlexP3 picture AlexP3  ·  3Komentar

jigskpatel picture jigskpatel  ·  3Komentar

timvandermeij picture timvandermeij  ·  4Komentar