Pdf.js: Permintaan fitur untuk masa depan: lapisan PDF

Dibuat pada 17 Jul 2011  ·  32Komentar  ·  Sumber: mozilla/pdf.js

Itu semuanya.

Kode tersebut terlihat sangat menjanjikan!

1-core 2-feature

Komentar yang paling membantu

Juga harapkan fitur ini. Dapatkan info lapisan / tampilkan lapisan / lapisan persembunyian.

Semua 32 komentar

Tidak jelas apa artinya ini. Pengguna tidak lagi aktif di Github. Dapat dibuka kembali jika diminta.

Biarkan saya Google itu untuk Anda.

http://www.google.com/search?q=site : adobe.com + pdf + layer
http://www.google.com/search?q=site : adobe.com + pdf +% 22opsional + konten + grup% 22

Standar sejak spesifikasi PDF 1.5.
http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf
bagian 8.11.3 "Menjadikan Konten Grafis Opsional"

Hadir di UI setiap penampil Adobe PDF selama sekitar satu miliar tahun sekarang.
Lapisan PDF berguna untuk menyesuaikan dengan lapisan program gambar Illustrator (dan sejenisnya), ke lapisan dalam keluaran GIS, dll.

Saya akan lebih "aktif" di github (dan dengan perangkat lunak gratis lainnya) jika saya lebih senang ditampar. (Saya telah berhenti menggunakan Firefox sejak "peningkatan" yang mematikan http://code.google.com/p/firefox-mac-pdf/ plugin yang benar-benar berguna, yang juga tidak memiliki dukungan lapisan PDF tetapi berfungsi dengan sangat baik . Browser tanpa melihat PDF = tidak berguna. Safari setidaknya mengatur itu, untuk semua omong kosong lainnya.)

Hei, tidak bermaksud menghina Anda! Kami sedang melakukan pembersihan masalah, jadi maafkan menutup masalah pada Anda.

Dan terima kasih atas tanggapan mendetail - ini jelas menjelaskan apa yang Anda maksud.

Permintaan pengguna yang menebak-nebak secara singkat adalah hal yang sulit untuk dilakukan - apakah yang dimaksud pengguna adalah "lapisan" di tingkat UI / penampil, atau tingkat spesifikasi (konten opsional), dll? Saya berpikir untuk bertanya di sini, tetapi saya salah berasumsi kemungkinan tanggapannya rendah karena satu-satunya aktivitas Anda di Github adalah komentar ini (kami tersanjung! :)).

Seperti yang saya katakan, membuka kembali jelas merupakan sebuah pilihan - anggap saja sudah selesai.

Terima kasih lagi.

Saya telah mengunggah file kecil di sini yang menunjukkan perilaku rendering rusak untuk grup konten opsional dan / atau jalur kliping (saya tidak yakin hal mana yang sebenarnya menyebabkan perilaku buruk). Jika Anda mencoba menambahkan #textLayer=visible ke url, Anda dapat melihat bahwa pdf.js menemukan dan menampilkan teks dengan benar, tetapi tidak menangani sisa rendering dengan benar.

(PDF khusus ini muncul karena saya mengerjakan pendekatan ini untuk merender tautan di LaTeX menggunakan penyorotan alih-alih kotak. Teks dirender ke jalur pemotongan saat ini ( 7 Tr ) daripada sebagai teks biasa ( 0 Tr ), lalu jalur kliping diisi dengan warna teks normal dan, dalam grup konten opsional, diisi lagi menggunakan warna sorotan. IIRC, canvas.js#L982 sudah memiliki beberapa dukungan untuk menambahkan teks ke jalur kliping , tetapi tampaknya tidak berfungsi di sini ... Akibatnya, komentar ini mungkin tidak 100% berlaku untuk bugnya; jangan ragu untuk mengarahkan saya ke yang lebih sesuai jika ada ;-))

@ Blerner Saya rasa masalah ini berbeda dari apa yang Anda tanyakan. Bisakah Anda membuka masalah baru dengan komentar Anda di atas?

Saya mencari fungsionalitas OCG juga ... apakah ini ada dalam rencana? Bisakah seseorang mengarahkan saya ke peta jalan?

Ada berita tentang lapisan pendukung? Akan sangat berguna. Mendapatkan nama objek juga akan berguna (seperti dalam nama objek dan grup yang dapat Anda atur di Illustrator)

Saya juga tertarik untuk mengetahui kapan lapisan akan didukung (secara khusus menampilkan / menyembunyikannya).

Belum ada implementasi untuk ini dan sejauh yang saya tahu tidak ada yang mengerjakan ini. Jika seseorang ingin mengerjakan ini, silakan membuat permintaan tarik.

File dengan OCG:
http://ims.er.usgs.gov/images/USTopo/
(tidak semua, hanya yang besar)

Juga harapkan fitur ini. Dapatkan info lapisan / tampilkan lapisan / lapisan persembunyian.

Hai, harapkan juga dukungan OCG (lapisan). Ada jadwal?
@timvandermeij Lampiran adalah file pdf yang diekspor dari gambar arsitektur yang berisi ratusan lapisan.
OCGs_demo.PDF

Saat ini fitur ini tidak direncanakan untuk diterapkan. Jika seseorang ingin mengerjakan ini, beri tahu kami. Jika Anda dapat melampirkan lebih banyak contoh file PDF di sini, itu akan membantu orang-orang memulai dan memverifikasi pekerjaan mereka.

Ini yang sederhana:
PDFBOX-4103-OCG.pdf

contoh lama dengan transparansi dan ocg, alangkah baiknya jika ocg dapat dipilih dari dalam browser / halaman
_myChessboardv1.2_mockup_ImageArray_beta0.7 - public.pdf

Saya mencoba mengidentifikasi beberapa konten dari PDF.
Saya memahami bahwa saya tidak dapat menggunakan lapisan karena tidak didukung.
Apakah itu benar?
Dan apakah ada cara lain?

Saya juga mengharapkan fitur ini. Dapatkan info lapisan / tampilkan lapisan / lapisan persembunyian. Ini akan sangat berguna untuk penggunaan Solidworks / Inventor.

Hai, Saya menyadari masalah ini sudah berusia 8 tahun, tetapi saya hanya ingin menambahkan bahwa ini akan menjadi fitur yang sangat berguna untuk dimiliki. Mungkin banyak hal telah berubah dalam 2 tahun?

Perbarui status jika seseorang telah menangani masalah ini dan mengatasinya.

Terima kasih

+1

+1

Harap jangan memposting komentar "+1" satu per satu, tetapi berikan komentar asli (https://github.com/mozilla/pdf.js/issues/269#issue-1238154) jempol menggunakan mekanisme reaksi GitHub. Ini mencegah benturan yang tidak perlu pada masalah ini dan memungkinkan kami untuk memfilter berdasarkan prioritas dari komunitas.

Halo, apakah ada pembaruan tentang prioritas permintaan di masa mendatang ini? :)
Sepertinya banyak postingan duplikat yang merujuk pada masalah yang sama, yang mungkin tidak dijelaskan dan ditampilkan dalam contoh yang baik di postingan ini?

Tidak ada yang sedang mengerjakan ini. Jika ada yang ingin berkontribusi, kami selalu dengan senang hati meninjau permintaan pull.

Alasan mengapa ini belum diimplementasikan kemungkinan besar karena ini merupakan subjek yang cukup rumit, mengingat cara semua ini dijelaskan dalam spesifikasi PDF.
Mengabaikan banyak hal spesifik lain seputar OCG, bagian "8.11.3.1 Umum" dari spesifikasi menyatakan (perhatikan poin kedua ):

Ketika bagian dari konten opsional dalam file PDF ditentukan bahwa itu harus disembunyikan, hal berikut terjadi:

  • Konten tidak boleh ditarik.
  • Operasi status grafik, seperti pengaturan warna, matriks transformasi, dan pemotongan, harus tetap diterapkan. Selain itu, efek samping keadaan grafik yang timbul dari operator gambar harus diterapkan; khususnya, posisi teks saat ini akan diperbarui bahkan untuk teks yang dibungkus dalam konten opsional. Dengan kata lain, parameter status grafik yang bertahan setelah akhir bagian konten yang ditandai harus sama baik konten opsional terlihat atau tidak.

Halo, saya telah mencoba menemukan solusi untuk masalah ini selama seminggu terakhir dan berharap seseorang dapat mengarahkan saya ke arah yang benar.
Untuk kasus penggunaan saya, tidak perlu mengganti lapisan tambahan, saya hanya perlu menyembunyikannya di penampil saya.

Sejauh ini saya dapat mengidentifikasi lapisan "tersembunyi" di dalam document.js seperti ini:

const hiddenLayers = this.xref.root._map.OCProperties._map.D.get("OFF");

Tapi saya tidak bisa menggambar hubungan antara layer dan konten sebenarnya yang dirender oleh pdf.js. Jadi jika ada yang bisa memberi saya petunjuk bagaimana mencari tahu data mana yang seharusnya disembunyikan, saya akan sangat senang menggunakannya.

@brendandahl bagaimana cara kerja API baru? Apa itu "Konten Opsional"? Tidak bisakah kita memindai lapisan yang ada dan menyembunyikannya? Terima kasih!

Apa itu "Konten Opsional"?

Lihat https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.3858031

Tidak bisakah kita memindai lapisan yang ada dan menyembunyikannya?

Sayangnya sangat sulit untuk memahami apa yang Anda tanyakan di sini.
Catatan: Fungsi ini belum diintegrasikan ke dalam penampil default, namun hal itu akan dibahas di # 12170.

Maaf, maksud saya mendeteksi mereka dan memiliki opsi untuk memanipulasinya (sembunyikan, hapus, dll ...)

Saya mencoba fitur ini dan berfungsi seperti yang diharapkan, yaitu alih-alih menampilkan semua lapisan, ini hanya menampilkan lapisan untuk dilihat.

@brendandahl bagaimana cara kerja API baru? Apa itu "Konten Opsional"? Tidak bisakah kita memindai lapisan yang ada dan menyembunyikannya? Terima kasih!

API lengkap masih membutuhkan sedikit lebih banyak pekerjaan, tetapi Anda dapat pdfDoc.getOptionalContentConfig kemudian mengulang berbagai optionalContentConfig.groups dan mengatur mana yang ingin Anda sembunyikan / tampilkan ( optionalContentGroup.visible ). Kemudian teruskan konfigurasi itu ke dalam panggilan Anda ke render a halaman.

Link yang berguna:
https://github.com/mozilla/pdf.js/blob/63e33a5895bb730ce0e6a65e4d0de12ed043b649/src/display/api.js#L779

https://github.com/mozilla/pdf.js/blob/63e33a5895bb730ce0e6a65e4d0de12ed043b649/src/display/optional_content_config.js#L25

https://github.com/mozilla/pdf.js/blob/63e33a5895bb730ce0e6a65e4d0de12ed043b649/src/display/api.js#L958

@brendandahl oh, ini terlihat sangat menarik! Aku akan mencobanya. Terima kasih!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

SehyunPark picture SehyunPark  ·  3Komentar

anggikolo11 picture anggikolo11  ·  3Komentar

BrennanDuffey picture BrennanDuffey  ·  3Komentar

smit-modi picture smit-modi  ·  3Komentar

AlexP3 picture AlexP3  ·  3Komentar