Pdf.js: Fitur: Tampilan dua halaman

Dibuat pada 2 Okt 2011  ·  29Komentar  ·  Sumber: mozilla/pdf.js

Permintaan fitur: tambahkan tombol untuk tampilan dua halaman
juga, alangkah baiknya memiliki tombol 100%, dan "Page Fit" di toolbar.

1-ux 1-viewer 2-feature

Komentar yang paling membantu

Anda dapat mengujinya menggunakan pratinjau build di http://54.67.70.0 : 8877 / 5e5412c2765c9bd / web / viewer.html.

Luar biasa, terima kasih. Untuk mengujinya harus memilih "Grid Scrolling" & menurunkan zoom hingga 100%. Hasil:

  1. Pengaturan: Grid scrolling & Show sidebar settings diingat saat membuka PDF baru, namun tingkat zoom tidak diingat (selalu default ke zoom otomatis saat membuka PDF baru, tetapi ini juga terjadi untuk pdf.js standar)
  2. Kinerja: diuji dengan beberapa PDF dengan banyak teks dan gambar besar. Sepertinya kinerja yang sama dengan pdf.js standar, namun pdf.js standar lebih lambat daripada misalnya pembaca pdf foxit dalam banyak kasus, karena tidak cukup halaman untuk "membaca ke depan". Ini berarti roda pemuatan segera terlihat saat menggulir dengan cepat. Selain itu, halaman yang sudah dibaca tidak "diingat" di RAM. Menggulir ke atas lagi menunjukkan roda pemuatan lagi. Tetapi seperti yang dikatakan, ini tampaknya menjadi masalah pdf.js. standar umum umum.
  3. Kompatibilitas: teruji ukuran non-A4, satu PDF dengan ukuran halaman berbeda. Pada satu PDF non-standar, gambar header hilang, tetapi ini juga terjadi dengan pdf.js. standar
  4. Teknis: seperti FF standar saya semuanya berfungsi (rendering font sub-piksel, akselerasi perangkat keras ...). Juga berfungsi: PDF / A & PDF dengan tindakan Javascript. Tidak berfungsi adalah PDF dengan elemen input teks, tetapi sekali lagi ini juga tidak berfungsi dengan pdf.js standar ("PDF berisi data formular. Pengeditan forumulars tidak didukung").
  5. Stres: menguji 50 PDF & beberapa yang menyiksa dengan ribuan halaman.

Mungkin saya akan menamainya berbeda (mis. "Tampilan Halaman Ganda", tapi saya bukan penutur asli. Saya hanya tidak menyadari secara langsung apa fungsi pengaturan ini).

Kesimpulan: versi pengguliran kisi berfungsi persis seperti pdf.js. non-kisi standar. Ada beberapa masalah dengan pdf.js secara umum yang dapat diperbaiki, tetapi tidak ada yang terkait dengan grid scrolling PR. Versi pengguliran kisi benar-benar hebat, akan sangat bagus jika "bilah header" akan bersembunyi secara otomatis. Di penampil PDF Chrome, bilah ini hanya ditampilkan selama beberapa detik saat mouse bergerak, atau layar disentuh. Selain itu saya sudah memikirkan cara menggunakan versi gulir kisi ini sebagai pembaca PDF standar saya, hingga ini tersedia di FF stable;)

Semua 29 komentar

Tentang 100% dan halaman-fit, itu adalah sesuatu yang dilakukan Adobe Reader dan saya setuju bahwa akan menyenangkan untuk memilikinya di PDF.js.

Mengenai tampilan dua halaman, saya setuju dengan itu juga.

+1

Adakah upaya untuk mencapai ini sama sekali dalam ~ 4 tahun terakhir?

Karena masih ada kebingungan tentang ini, izinkan saya mengklarifikasi sedikit. Ada permintaan pull yang sedang dalam proses untuk ini, tetapi masalah utamanya adalah _a banyak_ kode karena penampil tidak terlalu modular pada saat itu dan kami tidak memiliki tes integrasi untuk itu. Kami masih belum memiliki tes integrasi untuk penampil, jadi semua pengujian ini harus dilakukan secara manual. Mungkin tidak terlihat seperti itu, tetapi ini sebenarnya adalah fitur yang sulit untuk didukung. Apa yang akan terjadi jika halaman terlalu lebar? Apa yang akan terjadi dengan halaman berukuran berbeda?

Masalah ini terbuka karena suatu alasan. Kami masih menganggapnya sebagai fitur yang berguna, tetapi seseorang harus meluangkan waktu untuk mengerjakannya. Jika ada yang mau mengerjakan ini, pertama-tama kami harus memiliki beberapa bentuk pengujian otomatis untuk penonton, jika tidak, risiko regresi pengenalan akan besar.

+1

Gunakan tombol reaksi +1 GitHub alih-alih menambahkan komentar +1 di sini. Menggunakan tombol reaksi +1 memungkinkan kami memfilter masalah yang memiliki banyak +1 dan dengan demikian memungkinkan kami untuk memprioritaskan masalah dengan cara yang lebih baik.

baik. Saya menggunakan tombol reaksi alih-alih berkomentar. Terima kasih

Saya menyukai ini agar saya dapat mendukung cara saya berpikir tentang buku. Kembali sebelum hypertext, ada sedikit kritik pada buku karena "linier", beberapa orang bahkan menganjurkan untuk mendapatkan salinan buku sehingga Anda dapat memotongnya dan menempelkan poster raksasa dari seluruh buku. Mereka adalah proyek awal yang disebut "Digital Shakespeare", yang semua dramanya dikodekan dalam tampilan postscript sehingga Anda bisa "terbang" di atas karyanya. Ini agak terlalu tidak berbentuk bagi saya, jadi konvensi saya adalah memikirkan set sepuluh halaman, dikelompokkan menjadi 5 hamparan dua halaman yang diatur seperti bintik-bintik pada lima sisi mata dadu, misalnya sebagai berikut:

[0 | 1] [2 | 3]
`` [4 | 5]
[6 | 7] [8 | 9]

sekarang ada tingkat tinggi untuk mengambil ini dan menempatkannya menjadi ratusan.

Intinya adalah saya mungkin memiliki kesempatan untuk melakukan ini dan lebih banyak lagi dengan pdf.js, tetapi saya raja membutuhkan tampilan dua halaman terlebih dahulu.

👍

@timvandermeij Terima kasih atas pembaruan Anda. Saya juga sangat berharap untuk melihat versi beta dari ini bekerja!

Apa yang harus saya lakukan agar Anda menambahkan fitur ini? APA?

Langkah selanjutnya adalah membantu menambahkan pengujian integrasi otomatis: # 6505

Ini "bug pemula yang baik karena ini tidak memerlukan banyak pengetahuan tentang basis kode PDF.js untuk dikerjakan. Mungkin kontributor dari proyek JS lain memiliki pengalaman dengan pengujian integrasi untuk membantu kami dalam hal ini. Langkah pertama adalah memilih dan menambahkan kerangka pengujian integrasi. "

Apakah ada alasan mengapa fitur ini harus diterapkan di pdf.js itu sendiri? Menerapkannya di aplikasi pembaca berdasarkan pdf.js itu sepele dan tidak berisiko mengacaukan perender. Biarkan pdf.js menangani satu halaman seperti biasanya, gunakan dua (atau lebih, jika perlu) elemen kanvas dalam geometri apa pun yang diinginkan dan aktifkan.

Demo sederhana membutuhkan waktu tidak lebih dari beberapa menit untuk ditulis, berdasarkan contoh pdf.js sebelumnya / berikutnya:

https://jsfiddle.net/Yetangitu/1egqfefu/4/

Menavigasi menggunakan tombol atau dengan mengklik halaman kiri / kanan ...

@tfer inilah penampil 'Ludicrous mode' Anda: https://jsfiddle.net/Yetangitu/ht04sp3b/

(tingkatkan faktor skala, tampilkan di monitor besar, untung!)

Sejauh yang saya lihat tidak perlu pds.js untuk mendukung render multi-halaman, ini dapat ditangani secara memadai di tingkat yang lebih tinggi.

@yurydelendik dalam hal apa solusi ini membingungkan? Saya menggunakannya untuk membangun penampil PDF untuk Nextcloud / Owncloud, itu berfungsi dengan baik.

image

image

image

Dalam hal apa solusi ini membingungkan?

Itu tidak sesuai dengan penampil demo kami.

https://jsfiddle.net/Yetangitu/1egqfefu/4/

@Yetangitu Menulis penampil khusus dengan tampilan dua halaman berdasarkan contoh kami baik-baik saja bagi saya, tetapi itu bukan PR yang dapat kami terima. Apakah kami akan menutup masalah ini dengan merujuk bahwa solusi yang Anda usulkan di atas mengatasi masalah ini? Jika tidak, jelaskan / tunjukkan bagaimana kode Anda dapat diterapkan ke penampil demo.

Tolong jangan tutup masalah ini! Masalah lain yang tak terhitung jumlahnya telah dibuka dan ditutup dengan solusi yang tidak mengatasi masalah utama: PDFjs sangat membutuhkan metode bawaan untuk tampilan 2 halaman. Banyak PDF, seperti artikel jurnal, manual, dll terlihat bagus dalam tampilan 1 halaman. Tapi SEMUA BUKU, sejak Gutenberg, dirancang untuk dilihat sebagai tata letak LR. Saya menggunakan PR # 3723 @Snuffleupagus di sebuah situs produksi, dan meskipun berfungsi dengan baik untuk saat ini, itu layak untuk dikembangkan lebih lanjut.

@yurydelendik ini tidak dimaksudkan sebagai solusi lengkap, hanya sebagai petunjuk bagi orang-orang yang telah mencari penampil JS PDF yang mampu menyebar selama bertahun-tahun. Ini dapat diintegrasikan ke dalam penampil demo tetapi itu akan membutuhkan sedikit kerja. Karena penampil yang saya buat dimaksudkan untuk melihat dan bertindak (yaitu, halaman secara horizontal, terlihat 'seperti buku', dll.) Seperti penampil EPUB yang saya buat sebelumnya, ini sangat berbeda dari penampil demo jadi tidak masalah sederhana untuk menambal bit yang mampu menyebar.

Saya pikir jenis fungsi ini termasuk dalam aplikasi penampil, bukan dalam pustaka decoding / rendering PDF dasar yang pdf.js, oleh karena itu reaksi saya terhadap masalah pdf.js ini.

Saya akan merilis Reader berkemampuan PDF dalam beberapa hari untuk mereka yang ingin mencoba konsep ini. Karena Pembaca adalah aplikasi Nextcloud / Owncloud, Anda harus memiliki salah satu yang berguna di suatu tempat ...

@yurydelendik apa tautan ke penampil EPUB Anda. Akan sangat bagus jika ada pustaka JS sederhana yang dapat disertakan secara default untuk membantu memudahkan orang melihat EPUB seperti saat ini mereka melihat PDF. Mungkin ini adalah masalah baru (atau proyek baru).

Ini tahun 2018 dan ini telah beredar selama 7 tahun sekarang. Wah! Ada pembaruan / garis waktu tentang ini?

Permintaan pull di atas komentar Anda mengimplementasikan ini. Siapapun dipersilakan untuk membantu kami mengujinya untuk memastikan tidak ada yang rusak.

FYI, aplikasi Pembaca untuk Nextcloud & Owncloud sekarang mendukung PDF, termasuk mode 2 halaman (sebaran) yang saya sebutkan. Itu dapat ditemukan di Github:

https://github.com/Yetangitu/owncloud-apps/tree/master/files_reader

dan di repositori aplikasi Nextcloud:

https://apps.nextcloud.com/apps/files_reader

Ini akan segera muncul di repo Owncloud juga.

image

Permintaan pull di atas komentar Anda mengimplementasikan ini. Siapapun dipersilakan untuk membantu kami mengujinya untuk memastikan tidak ada yang rusak.

Ingin menguji, apa yang Anda butuhkan? Apakah ada gumpalan biner atau SW terkompilasi yang dapat kami uji? Mengapa tidak mengujinya melalui siklus master beta malam hari?

FYI, aplikasi Pembaca untuk Nextcloud & Owncloud sekarang mendukung PDF

Keren, sekarang kita hanya perlu memikirkan cara menjalankannya sebagai penampil mandiri. Sumatra juga dapat melihat 2 halaman, tetapi tidak memiliki rendering subpiksel. FF memiliki rendering subpiksel, tetapi tidak ada tampilan standar 2 halaman. Jadi saat ini tidak ada penampil PDF open source yang dapat digunakan di windows: /

Anda dapat mengujinya menggunakan pratinjau build di http://54.67.70.0 : 8877 / 5e5412c2765c9bd / web / viewer.html. Lihat # 9208 untuk informasi lebih lanjut.

Anda dapat mengujinya menggunakan pratinjau build di http://54.67.70.0 : 8877 / 5e5412c2765c9bd / web / viewer.html.

Luar biasa, terima kasih. Untuk mengujinya harus memilih "Grid Scrolling" & menurunkan zoom hingga 100%. Hasil:

  1. Pengaturan: Grid scrolling & Show sidebar settings diingat saat membuka PDF baru, namun tingkat zoom tidak diingat (selalu default ke zoom otomatis saat membuka PDF baru, tetapi ini juga terjadi untuk pdf.js standar)
  2. Kinerja: diuji dengan beberapa PDF dengan banyak teks dan gambar besar. Sepertinya kinerja yang sama dengan pdf.js standar, namun pdf.js standar lebih lambat daripada misalnya pembaca pdf foxit dalam banyak kasus, karena tidak cukup halaman untuk "membaca ke depan". Ini berarti roda pemuatan segera terlihat saat menggulir dengan cepat. Selain itu, halaman yang sudah dibaca tidak "diingat" di RAM. Menggulir ke atas lagi menunjukkan roda pemuatan lagi. Tetapi seperti yang dikatakan, ini tampaknya menjadi masalah pdf.js. standar umum umum.
  3. Kompatibilitas: teruji ukuran non-A4, satu PDF dengan ukuran halaman berbeda. Pada satu PDF non-standar, gambar header hilang, tetapi ini juga terjadi dengan pdf.js. standar
  4. Teknis: seperti FF standar saya semuanya berfungsi (rendering font sub-piksel, akselerasi perangkat keras ...). Juga berfungsi: PDF / A & PDF dengan tindakan Javascript. Tidak berfungsi adalah PDF dengan elemen input teks, tetapi sekali lagi ini juga tidak berfungsi dengan pdf.js standar ("PDF berisi data formular. Pengeditan forumulars tidak didukung").
  5. Stres: menguji 50 PDF & beberapa yang menyiksa dengan ribuan halaman.

Mungkin saya akan menamainya berbeda (mis. "Tampilan Halaman Ganda", tapi saya bukan penutur asli. Saya hanya tidak menyadari secara langsung apa fungsi pengaturan ini).

Kesimpulan: versi pengguliran kisi berfungsi persis seperti pdf.js. non-kisi standar. Ada beberapa masalah dengan pdf.js secara umum yang dapat diperbaiki, tetapi tidak ada yang terkait dengan grid scrolling PR. Versi pengguliran kisi benar-benar hebat, akan sangat bagus jika "bilah header" akan bersembunyi secara otomatis. Di penampil PDF Chrome, bilah ini hanya ditampilkan selama beberapa detik saat mouse bergerak, atau layar disentuh. Selain itu saya sudah memikirkan cara menggunakan versi gulir kisi ini sebagai pembaca PDF standar saya, hingga ini tersedia di FF stable;)

Bagi mereka yang mencari peretasan bersih cepat, cukup tambahkan beberapa keajaiban css di (viewer.html):

<style>
#viewer {
  margin-left:20px;
}
div.page {
  float:left;
}
</style>

Atur zoom sekitar 75% (= dua tampilan halaman pada layar 1440x900 saya)

Apakah ada alasan mengapa fitur ini harus diterapkan di pdf.js itu sendiri? Menerapkannya di aplikasi pembaca berdasarkan pdf.js itu sepele dan tidak berisiko mengacaukan perender.

Ya saya setuju, saya tidak perlu berada di kode pdf.js ...

Bagi mereka yang mencari peretasan bersih cepat, cukup tambahkan beberapa keajaiban css di (viewer.html) ...

Terima kasih untuk pekerjaannya.

Singkatnya, Bisakah seseorang menulis ekstensi yang memasukkan kerja @icedman ? Sehingga seseorang bisa beralih tampilan 1p / 2p dalam satu klik? Saya memiliki ekstensi "Bunuh Lengket" yang menyuntikkan / memodifikasi halaman secara lokal sehingga ini bisa dilakukan.

Terima kasih

Apakah halaman ini membantu?
0 / 5 - 0 peringkat