Pdf.js: طلب ميزة للمستقبل: طبقات PDF

تم إنشاؤها على ١٧ يوليو ٢٠١١  ·  32تعليقات  ·  مصدر: mozilla/pdf.js

هذا كل شيء.

يبدو الرمز واعدًا حقًا!

1-core 2-feature

التعليق الأكثر فائدة

توقع أيضًا هذه الميزة. الحصول على معلومات الطبقات / إظهار الطبقة / إخفاء الطبقة.

ال 32 كومينتر

غير واضح ماذا يعني هذا. المستخدم لم يعد نشطًا على جيثب. يمكن إعادة الفتح إذا طلب منها ذلك.

اسمحوا لي أن جوجل ذلك لك.

http://www.google.com/search؟q=site : adobe.com + pdf + layer
http://www.google.com/search؟q=site : adobe.com + pdf +٪ 22optional + content + group٪ 22

قياسي منذ مواصفات PDF 1.5.
http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf
القسم 8.11.3 "جعل المحتوى الرسومي اختياريًا"

موجود في واجهة المستخدم لكل عارض Adobe PDF لنحو مليار سنة حتى الآن.
تتوافق طبقات PDF بشكل مفيد مع طبقات برنامج الرسم في Illustrator (وما شابه) ، إلى طبقات في إخراج GIS ، إلخ.

سأكون أكثر "نشاطًا" على جيثب (ومع البرامج المجانية الأخرى) إذا استمتعت بالصفع أكثر. (لقد توقفت عن استخدام Firefox منذ "الترقية" التي قضت على http://code.google.com/p/firefox-mac-pdf/ المكون الإضافي المفيد حقًا ، والذي كان يفتقر أيضًا إلى دعم طبقة PDF ولكنه كان يعمل بشكل جيد جدًا . متصفح بدون عرض PDF = عديم الفائدة. Safari يدير ذلك على الأقل ، على الرغم من كل حماقاته الأخرى.)

مرحبًا ، لم أقصد إهانتك! نحن نقوم بحل مشكلة ، لذا يرجى أن تغفر لك هذه المشكلة.

وشكرًا على الرد المفصل - لقد أوضح بالتأكيد ما تعنيه.

يعد التخمين الثاني لطلبات المستخدم المقتضبة أمرًا صعبًا - هل يقصد المستخدم "الطبقات" على مستوى واجهة المستخدم / العارض ، أو مستوى المواصفات (محتوى اختياري) ، وما إلى ذلك؟ فكرت في الاستفسار هنا ، لكنني افترضت خطأً أن احتمالات الرد كانت منخفضة نظرًا لأن نشاطك الوحيد على Github هو هذا التعليق (نحن ممتنون! :)).

كما قلت ، إعادة الفتح بالتأكيد خيار - اعتبرها قد فعلت.

شكرا لك مرة أخرى.

لقد قمت بتحميل ملف صغير هنا يوضح سلوك العرض المعطل لمجموعات المحتوى الاختيارية و / أو مسارات القطع (لست متأكدًا من الشيء الذي يسبب السلوك السيئ بالفعل). إذا حاولت إضافة #textLayer=visible إلى عنوان url ، يمكنك أن ترى أن pdf.js يقوم بالبحث عن النص وعرضه بشكل صحيح ، لكنه لا يتعامل مع بقية العرض بشكل صحيح.

(ظهر ملف PDF هذا بسبب عملي على هذا الأسلوب لتقديم الروابط في LaTeX باستخدام التمييز بدلاً من المربعات. يتم عرض النص في مسار القطع الحالي ( 7 Tr ) بدلاً من النص العادي ( 0 Tr ) ، ثم يتم ملء مسار القطع بلون النص العادي ، وداخل مجموعة محتوى اختيارية ، يتم تعبئته مرة أخرى باستخدام لون التمييز. IIRC، canvas.js#L982 لديها بالفعل بعض الدعم لإضافة نص إلى مسار القطع ، ولكن لا يبدو أنه يعمل هنا ... نتيجة لذلك ، قد لا يكون هذا التعليق قابلاً للتطبيق بنسبة 100٪ على الخطأ الذي يعاني منه ؛ لا تتردد في إعادة توجيهي إلى تعليق أكثر ملاءمة إذا كان موجودًا ؛-))

blerner أعتقد أن هذه المسألة مختلفة عما تسأل عنه. هل يمكنك فتح عدد جديد بتعليقك أعلاه؟

أنا أبحث عن وظائف OCG أيضًا ... هل هذا على الخطط؟ هل يمكن لأحد أن يوجهني إلى خارطة الطريق؟

أي أخبار عن دعم الطبقات؟ سيكون مفيدا بشكل لا يصدق. سيكون الحصول على أسماء الكائنات مفيدًا أيضًا (كما هو الحال في أسماء الكائنات والمجموعات التي يمكنك تعيينها في Illustrator)

أنا مهتم أيضًا بمعرفة متى سيتم دعم الطبقات (تحديدًا إظهار / إخفاء الطبقات).

لا يوجد تنفيذ لهذا حتى الآن وبقدر ما أعرف لا أحد يعمل على هذا. إذا أراد شخص ما العمل على هذا ، فلا تتردد في إنشاء طلب سحب.

الملفات ذات OCGs:
http://ims.er.usgs.gov/images/USTopo/
(ليس كل شيء ، فقط الضخمة)

توقع أيضًا هذه الميزة. الحصول على معلومات الطبقات / إظهار الطبقة / إخفاء الطبقة.

مرحبًا ، توقع أيضًا دعم OCGs (طبقة). أي جدول؟
timvandermeij المرفق عبارة عن ملف pdf يتم تصديره من رسم معماري يحتوي على مئات الطبقات.
OCGs_demo.PDF

حاليا لم يتم التخطيط لتنفيذ هذه الميزة. إذا أراد شخص ما العمل على هذا ، فيرجى إخبارنا بذلك. إذا كان بإمكانك إرفاق المزيد من أمثلة ملفات PDF هنا ، فسيساعد ذلك في بدء الأشخاص والتحقق من عملهم.

إليك فكرة بسيطة:
PDFBOX-4103-OCG.pdf

مثال قديم مع الشفافية و ocgs ، سيكون من الجيد إذا كانت ocgs قابلة للتحديد من داخل متصفح / صفحة
_myChessboardv1.2_mockup_ImageArray_beta0.7 - public.pdf

أحاول تحديد بعض المحتوى من ملف PDF.
أفهم أنه لا يمكنني استخدام الطبقات لأنها غير مدعومة.
هل هذا صحيح؟
وهل هناك طريقة أخرى؟

أتوقع أيضًا هذه الميزة. الحصول على معلومات الطبقات / إظهار الطبقة / إخفاء الطبقة. سيكون هذا مفيدًا جدًا لاستخدام Solidworks / المخترع.

مرحبًا ، أدرك أن هذه المشكلة عمرها 8 سنوات ، لكني أود فقط أن أضيف إلى الحالة أن هذه ستكون ميزة مفيدة للغاية. ربما تغيرت الأمور في 2 سنوات؟

يرجى تحديث الحالة إذا عمل شخص ما على هذه المشكلة وحلها.

شكرا لك

+1

+1

من فضلك لا تنشر تعليقات فردية بـ "+1" ، لكن أعط التعليق الأصلي (https://github.com/mozilla/pdf.js/issues/269#issue-1238154) إعجابًا باستخدام آلية رد فعل GitHub. هذا يمنع المطبات غير الضرورية في هذه المشكلة ويسمح لنا بالتصفية بناءً على الأولوية من المجتمع.

مرحبًا ، هل هناك أي تحديث لأولوية هذا الطلب المستقبلي؟ :)
يبدو أن الكثير من المنشورات المكررة تشير إلى نفس المشكلة ، والتي قد لا يتم شرحها وعرضها في مثال جيد في هذا المنشور؟

لا أحد يعمل حاليا على هذا. إذا أراد أي شخص المساهمة ، يسعدنا دائمًا مراجعة طلبات السحب.

السبب وراء عدم تنفيذ ذلك حتى الآن هو الأرجح لأنه يحدث ليكون موضوعًا معقدًا إلى حد ما ، نظرًا للطريقة التي يتم بها وصف كل هذا في مواصفات PDF.
تجاهل الكثير من التفاصيل الأخرى المحيطة بـ OCGs ، القسم "8.11.3.1 عام" من حالات المواصفات (لاحظ النقطة الثانية ):

عند تحديد جزء من المحتوى الاختياري في ملف PDF بأنه يجب إخفاؤه ، يحدث ما يلي:

  • لا يجوز رسم المحتوى.
  • يجب الاستمرار في تطبيق عمليات حالة الرسومات ، مثل تعيين اللون ومصفوفة التحويل والقص. بالإضافة إلى ذلك ، يجب تطبيق الآثار الجانبية للحالة الرسومية التي تنشأ عن عوامل الرسم ؛ على وجه الخصوص ، يجب تحديث موضع النص الحالي حتى بالنسبة للنص الملفوف في محتوى اختياري. بمعنى آخر ، يجب أن تكون معلمات حالة الرسومات التي تستمر بعد نهاية قسم المحتوى المحدد هي نفسها سواء كان المحتوى الاختياري مرئيًا أم لا.

مرحبًا ، لقد كنت أحاول إيجاد حل لهذه المشكلة خلال الأسبوع الماضي وكنت آمل أن يوجهني شخص ما في الاتجاه الصحيح.
بالنسبة لحالة الاستخدام الخاصة بي ، لن يكون من الضروري تبديل الطبقات الإضافية ، بل سأحتاج ببساطة إلى إخفائها في العارض.

حتى الآن تمكنت من تحديد الطبقات "المخفية" داخل document.js مثل هذا:

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

لكن لم أتمكن من رسم الاتصال بين الطبقات والمحتوى الفعلي الذي يتم تقديمه بواسطة pdf.js. لذلك إذا كان بإمكان أي شخص أن يعطيني تلميحًا حول كيفية اكتشاف البيانات التي من المفترض أن تكون مخفية ، فسأحب أن أستخدمها.

brendandahl كيف تعمل واجهة برمجة التطبيقات الجديدة؟ ما هو "المحتوى الاختياري"؟ ألا يمكننا ببساطة مسح الطبقات الموجودة وإخفائها؟ شكر!

ما هو "المحتوى الاختياري"؟

راجع https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G7.3858031

ألا يمكننا ببساطة مسح الطبقات الموجودة وإخفائها؟

لسوء الحظ ، من الصعب جدًا فهم ما تطلبه هنا.
ملاحظة: لم يتم دمج هذه الوظيفة في العارض الافتراضي بعد ، ولكن سيتم تناول ذلك في # 12170.

عذرًا ، قصدت اكتشافها وإمكانية التلاعب بها (إخفاء ، إزالة ، إلخ ...)

لقد جربت الميزة وهي تعمل كما هو متوقع ، وهي أنه بدلاً من عرض جميع الطبقات ، فإنها تعرض فقط الطبقات للعرض.

brendandahl كيف تعمل واجهة برمجة التطبيقات الجديدة؟ ما هو "المحتوى الاختياري"؟ ألا يمكننا ببساطة مسح الطبقات الموجودة وإخفائها؟ شكر!

لا تزال واجهة برمجة التطبيقات الكاملة بحاجة إلى مزيد من العمل ، ولكن يمكنك pdfDoc.getOptionalContentConfig ثم التكرار على optionalContentConfig.groups وتعيين أي منها تريد إخفاء / إظهار ( optionalContentGroup.visible ). ثم قم بتمرير هذا التكوين إلى مكالمتك إلى render للصفحة.

روابط مفيدة:
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 أوه ، هذا يبدو ممتعًا جدًا! سأعطيها فرصة. شكر!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات