Electron: تمكين عارض PDF

تم إنشاؤها على ١٧ مارس ٢٠١٨  ·  133تعليقات  ·  مصدر: electron/electron

تم تعطيله أثناء ترقية Chromium 63 في # 11459.
يرجى تشغيل العلم enable_pdf_viewer في features.gypi وإصلاح الترجمة والاختبارات.

app-feedback-program bug chromium componenpdf-viewer platforall upgrade-follow-u63

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

يجب أن يكون هذا جاهزًا للاختبار في 10 .x القادمة كل ليلة. آمل أن يكون backport إلى 9.x أيضًا ، على الرغم من أنه قد لا ينتهي به الأمر إذا تسبب في حدوث مشكلات.

ال 133 كومينتر

sethlugnahzak هل كان لدى أي

هذا لا يزال مانع 3.0.0

ckerr لم نحرز تقدمًا كبيرًا منذ فتح https://github.com/electron/electron/pull/13760 .

كيف يمكن إصدار نسخة "مستقرة" بينما لم يتم إصلاح ذلك؟ أقضي ساعات في محاولة معرفة سبب عدم عمل طلبي بعد التحديث ..

3.0.0 هو إصدار رئيسي جديد ، وبحكم التعريف يمكن أن يحتوي على "تغييرات تقطع التوافق مع الإصدارات السابقة". قد يكون لديهم أسبابهم لاستبعادهم لهذا الإصدار 3.0.0 ، لكن نعم ، أعتقد أن إزالة ميزات مثل هذه ليست رائعة أيضًا ...

كيف يمكن إصدار نسخة "مستقرة" بينما لم يتم إصلاح ذلك؟ أقضي ساعات في محاولة معرفة سبب عدم عمل طلبي بعد التحديث ..

انه شئ فظيع! حتى الآن لم يتم إصلاحها ...

لقد اخترنا إسقاط دعم تقديم PDF الأصلي من الإصدار 3.0.0 لأنه ليس لدينا عدد كافٍ من الأشخاص لمواصلة صيانته ، وهي ليست ميزة مستخدمة على نطاق واسع. لوحظ هذا في ملاحظات الإصدار . ما زلنا مهتمين بإعادتها ، لكن لا أحد في الفريق الأساسي لديه الوقت المتاح للعمل عليه حاليًا ، لذا فقد توقف في المستقبل المنظور. إذا كنت تريد رؤيتها وهي تعود ، من فضلك حاول أن تجعل العلاقات العامة!

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

هل هناك أي طريقة يمكنني من خلالها جعله يعمل في تطبيقي دون الحاجة إلى استخدام إصدار قديم؟
هل يجب علي استخدام https://github.com/electron/electron/tree/enable-pdf-plugin ؟ إذا كانت الإجابة نعم ، فكيف؟

أفضل طريقة للبدء هي الحصول على بناء محلي للإلكترون قيد التشغيل ، وتحديد خيار الإنشاء enable_pdf_viewer = true في الخطوة gn gen ، على سبيل المثال

$ gn gen out/Debug --args='import("//electron/build/args/debug.gn") enable_pdf_viewer=true'

(أو ما يعادله ، قم بتحرير out/Debug/args.gn بعد تشغيل الخطوة العادية gn gen وأضف الوسيطة enable_pdf_viewer = true .)

أفضل طريقة للبدء هي الحصول على بناء محلي للإلكترون قيد التشغيل ، وتحديد خيار الإنشاء enable_pdf_viewer = true في الخطوة gn gen ، على سبيل المثال

$ gn gen out/Debug --args='import("//electron/build/args/debug.gn") enable_pdf_viewer=true'

(أو ما يعادله ، قم بتحرير out/Debug/args.gn بعد تشغيل الخطوة العادية gn gen وأضف الوسيطة enable_pdf_viewer = true .)

كيف يمكنني فعل ذلك مع منشئ الإلكترون؟

منشئ الإلكترون ، على الرغم من اسمه ، ليس أداة لبناء الإلكترون نفسه. ستحتاج إلى اتباع التعليمات لبناء الإلكترون نفسه .

(كان المرجع أعلاه خاطئًا ؛ كنت أقوم بتنظيف الحافظة الخاصة بي وانفجرت.)

منشئ الإلكترون ، على الرغم من اسمه ، ليس أداة لبناء الإلكترون نفسه. ستحتاج إلى اتباع التعليمات لبناء الإلكترون نفسه .

إذا كانت مجرد علم فلماذا لا يتم تمكينها في البنية الرسمية؟

إذا كانت مجرد علم فلماذا لا يتم تمكينها في البنية الرسمية؟

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

لمعلوماتك ... إذا كنت بحاجة إلى دعم عارض PDF في 3-0-x الآن ، يمكنك استخدام https://github.com/gerhardberger/electron-pdf-window. لقد اختبرته للتو على Electron 3.0.8 وهو يعمل بشكل مثالي.

شكرًا jkleinsc للأسف لن يعمل الحل الخاص بك مع إطار iframe.
في مفترقتي 3-0-xi حاولت إصلاح عارض PDF بهذا الالتزام .

هذا التجميع والروابط ، للأسف لا يزال PDF لا يعمل ، قمت بتصحيح الأخطاء ووجدت أن:
في AtomResourceDispatcherHostDelegate :: shouldInterceptResourceAsStream ()
يُرجع GetAssociatedRenderFrame -1 و -1.

عندما أقوم بتصحيح الأخطاء في فرع 2-0-x ، لا أحصل على قيم -1 ويعمل PDF.
هل يستطيع أي أحد مساعدتي؟ ربما أنت @ deepak1556 ؟

لقد اخترنا إسقاط دعم تقديم PDF الأصلي من الإصدار 3.0.0 لأنه ليس لدينا عدد كافٍ من الأشخاص لمواصلة صيانته ، وهي ليست ميزة مستخدمة على نطاق واسع. لوحظ هذا في ملاحظات الإصدار . ما زلنا مهتمين بإعادتها ، لكن لا أحد في الفريق الأساسي لديه الوقت المتاح للعمل عليه حاليًا ، لذا فقد توقف في المستقبل المنظور. إذا كنت تريد رؤيتها وهي تعود ، من فضلك حاول أن تجعل العلاقات العامة!

مرحبًا nornagon ما يمكنني رؤيته في ملاحظات الإصدار هو أن "عارض PDF لا يعمل حاليًا ولكن يتم العمل عليه وسيعمل مرة أخرى قريبًا".
كانت هذه الرسالة إيجابية جدًا ، أكثر بكثير من "أنها ليست ميزة مستخدمة على نطاق واسع". بالمناسبة ، هل لديك أي إحصائيات حول هذا البيان الأخير؟

أعلم أن هذا ليس StackOverflow ولكن في الوقت الحالي أستخدمه

shell.openItem(fullPath)

لاستخدام عارض pdf للنظام المثبت على معظم الأنظمة على أي حال والذي يحتوي أيضًا على خيار طباعة يبدو أنه مفقود حتى من [email protected]

هل هناك أي عمل مخطط للإصدار الرئيسي القادم؟ ما زلنا على إلكترون v2.0.16 بسبب عارض PDF.

v4.0.0 للتو ووفقًا لـ Support Doc ، فأنت لا تدعم سوى أحدث ثلاثة فروع للإصدار. سيكون من الرائع لو تمكنا من استعادة عارض PDF في الإصدار الخامس للاستمرار في الحصول على تصحيحات الأمان.

jkleinsc هل يجري العمل بنشاط على هذا؟ وإلا سأعمل على إصلاح.

chriswald أنا أعمل على هذا ولكن لم

لقد قمت بحل معظم أخطاء البناء ولكني توقفت هذا الصباح عن إنشاء ملفات pdf_viewer_resources. هل يمكننا الدردشة في Slack حتى لا نرسل بريدًا عشوائيًا إلى الجميع في سلسلة الرسائل هذه؟

chriswald متأكد من أنه يمكننا الدردشة في Slack.

jkleinsc هل أحرزت أي تقدم؟ لم أتمكن من التواصل معك على Slack ، لكنني أتطلع إلى فهم ما إذا كان ينبغي علي الاستمرار في استثمار الوقت في الإصلاح.

نعم الرجاء القيامchriswald!

هذا هو 3.0 ، 4.0 ، و 5.0 من حاصرات بيتا بالنسبة لنا ، لذلك نحن عالقون مع 2.0. walltex لمزيد من التفاصيل.

chriswald أنا أعمل على معالجة المشكلة لـ 5-0-x

تضمين التغريدة هل لديك تاريخ تقديري عندما يكون الإصلاح جاهزًا؟

chriswald سؤال جيد. يجب أن أكون قادرًا على معرفة الوقت المتوقع للوصول هذا الأسبوع. نظرًا للتحول الذي أجريناه في 4-0-x لاستخدام GN للبناء ، فإن دعم PDF 4-0-x و 5-0-x سيكون بمثابة إعادة كتابة بدلاً من محاولة تغيير ما فعلناه سابقًا الإصدارات.

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

chriswald بعد

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

أي تحديث عن حالة هذا؟

المسودة / WIP PR هنا: https://github.com/electron/electron/pull/17163

هل هناك أي معلم؟
من المحتمل أن أنقل مشروعي إلى فرع 2.0.x لأنني حقًا بحاجة إلى العارض. لكن إصلاحه في مستقر 3.x سيكون أفضل بكثير.

jkleinsc كم تقدمت؟ أي نتائج جيدة؟

vsvipul إنه قادم ولكن لسوء الحظ أدت المسؤوليات الأخرى إلى إبطاء تقدمي. آمل أن أعمل عليه هذا الأسبوع واليوم القادم

ربما يمكن لشخص ما مساعدتي في هذا الحل هنا. أنا فقدت نوعا ما.
لدي مشروع زاوي يستخدم الإلكترون مع حزمة الإلكترون للحصول على ملف تنفيذي. لقد ألقيت نظرة على features.gypi في حزمة الإلكترون الخاصة بي وفي node_modules المحلية دون نجاح. هل يمكن لأحد أن يقول أين تجد هذا؟

Corebee كل شيء ، بما في ذلك جميع الحلول الممكنة حاليًا ، يتم تلخيصه في الإجابة المقبولة لهذا السؤال:

https://stackoverflow.com/q/52844135/7910454

Corebee كل شيء ، بما في ذلك جميع الحلول الممكنة حاليًا ، يتم تلخيصه في الإجابة المقبولة لهذا السؤال:

https://stackoverflow.com/questions/52844135/view-pdf-in-electron-browserwindow

آه شكرا ، لم أر هذا. سأعطيها فرصة ، حتى يكون هناك حل مناسب. شكرا @ MiXT4PE

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

DmitryMK اتضح أن التنفيذ في 5-0-x والإصدارات الأحدث سيتطلب منا تمكين خدمة الشبكة. يجري العمل هنا لتحقيق ذلك: # 15791

jkleinsc شكرا لك على التحديث. يبدو أن تمكين خدمة الشبكة نفسها مهمة كبيرة. فقط للتوضيح ، هل يعني ذلك أن عارض PDF لن يكون في الإصدارين 3 و 4؟

DmitryMK يتركز العمل الذي أقوم به على جعله يعمل بشكل رئيسي ، والذي من المحتمل أن يكون في هذه المرحلة 6-0-x. إذا تمكنا من النسخ الاحتياطي ، فسنقوم بذلك ، ولكن بالنظر إلى متطلبات خدمة الشبكة ، أشك في أنها ستصل إلى 3 و 4.

jkleinsc - هل هناك تقدير متى سيكون هناك إصدار إلكتروني يحتوي على الإصلاح؟
من إجابتك إلى DmitryMK أفهم أنه لا ينبغي لنا الاعتماد على backporting الإصلاح إلى Electron 4؟
هذا انحدار كبير يؤثر على العديد من التطبيقات ويمنع الترقية من Electron 2.0.X حتى يكون هناك إصدار يحتوي على الإصلاح

jkleinsc كيف يمكننا المساعدة؟ https://github.com/electron/electron/pull/17163

arnaudbud شكرا على السؤال. لقد كنت أحاول تشغيله ولكني أعتقد أن منهجي المتمثل في محاولة التمسك عن كثب بما يفعله Chromium لن ينجح حتى نحصل على دعم أقوى للإضافات. هناك PR هنا # 17440 يحاول القيام بذلك. في هذه المرحلة ، سأقوم بمراجعة هذا الأمر ، لذلك إذا أراد أي شخص آخر أن يتأرجح فيه (ربما في نهج لا يتطلب دعمًا إضافيًا) فلا تتردد في القيام بذلك.

jkleinsc هل يعني ذلك عدم وجود فرصة لتطبيق عارض PDF الأصلي في الإصدار v6.x؟

تشغيل Electron 6.0.0-beta.4
لا يزال لا يدعم pdf 👎

@ mailtokartik1 ، من الممكن أن تشق طريقها إلى 6.x إذا عمل شخص ما عليها ، لكني أعلم ، لا أحد يعمل عليها.

فضولي ، هل C ++ مطلوب للمساهمة في Electron؟

ما الذي يدعمه عارض PDF المضمن والذي لا يمكن تحقيقه باستخدام PDF.js؟

لا شيء على حد علمي ، ولكن سيوفر الاضطرار إلى إعادة تشكيل قاعدة البيانات في التطبيقات القديمة.

يبدو أنه سيكون من السهل نسبيًا إنشاء BrowserWindow الذي يقوم بتحميل ملف PDF المطلوب في عارض PDF.js. هذا مثال وجدته للقيام بذلك.

فقط تأكد من تضمين جميع ملفات PDF.js ذات الصلة.

نحن نستخدم PDF.js لتحميل المعاينات في واجهة المستخدم الرئيسية لدينا فقط الأشياء الجيدة لنقولها عنها. إنه العارض المستخدم في Firefox لذا تم اختباره جيدًا.

beig refs # 12337

"تم تعطيله أثناء ترقية Chromium 63 في # 11459.
يرجى تشغيل علامة enable_pdf_viewer في features.gypi ، وإصلاح الترجمة والاختبارات. "

هل يمكننا الحصول على هذا في الإصدار التجريبي التالي؟

هذا يترك ملفات pdf المضمنة ، لا تحتاج إلى فتح نافذة جديدة بالكامل -

Nashorn ، يجب أن يعمل المثال الذي ربطته بشكل جيد مع WebView وما إلى ذلك.

يبدو أن هذا لا يعمل الآن أيضًا ...
أحاول استخدام علامة الكائن مع application / pdf ولا ...

تقصد ، تعيين الإضافات على صحيح؟ إذا كان هذا هو الحال ، فإنه لا يزال لا يعمل ....
إذا لم يكن كذلك ، يرجى الذهاب قليلا في ديبر ...
¿كيف يمكنني عرض ملف pdf كما في chrome ، في Electron؟

هل من الممكن تحقيق نفس السلوك تمامًا مثل عارض PDF المضمن باستخدام pdf.js؟
قبل أن يصبح العارض المدمج شيئًا (أعتقد أن الإلكترون v1 أو حتى الإصدار 2 المبكر) ، جربت حلًا باستخدام pdf.js ولكن شعرت أنه معقد للغاية.

نجح عرض ملفات PDF عبر pdf.js بشكل جيد عندما علمت مسبقًا أن نوع المحتوى كان application/pdf ، حيث يمكنني الحصول على عنوان URL للمورد وتمريره عبر معلمة الاستعلام إلى نسخة محلية من pdf.js ، ثم عرضه ذلك في نافذته الخاصة أو مضمنًا داخل <iframe> .

لكن لم أجد حلاً جيدًا لتقديم ملف PDF وهو جزء من المحتوى الذي يتم عرضه في <iframe> (أو <iframe> داخل طبقات متعددة بعمق <iframe> إلخ. .) ، لأنني لا أعتقد أنه يمكنني إعادة كتابة src الخاصة بإطار iframe للإشارة إلى pdf.js

هل هناك طريقة لاكتشاف كل المحتوى من نوع application/pdf وعرضه عبر. pdf.js ، حتى لو كان المحتوى مضمنًا لعدة طبقات بعمق في عناصر <iframe> ؟

هذا شيء عمل للتو مع العارض المضمن وهو اعتراضي الرئيسي على أن يصبح PDF.js "الحل" الدائم ما لم يتمكن أي شخص من مساعدتي في معاناتي أعلاه :) :) :)

@ chris-ls في حالتي ، ملف pdf الخاص بي به مدخلات ديناميكية ، لذلك لا تستطيع شركتي ملئها بـ pdf.js.

لدي أيضًا صفحات بها عرض PDF مضمّن ، ولا يمكنني تعديل مئات الصفحات للقيام بهذا النوع من الأسلاك ، بالإضافة إلى أنه ليس لدي وصول أو مسموح لي بتعديل HTML / js الوارد

يوفر ملف PDF المضمن / المضمّن لتطبيقاتنا السياق الذي تشتد الحاجة إليه ؛
من المفيد إلقاء نظرة على محتوى PDF من منظور أوسع.

يتفوق المكون الإضافي PDF في Chrome على جميع تطبيقات React pdf.js التي أجريتها لاختبار القيادة حتى الآن ، سواء من حيث الأداء أو البساطة / المتانة.

هل يمكننا تمكين دعم PDF المضمّن / المضمّن في Electron Chrome في إصدار مستقبلي ، أو أن يكون لدينا تكوين PATCH لمتابعة الفترة المؤقتة.

ممتاز لذلك

هذه مشكلة تمنع حقًا بالنسبة لي ، تم تصميم تطبيقي للاستخدام المشترك مع إنشاء شهادة pdf من قاعدة البيانات.
هذه ميزة لا بد منها بالنسبة لي ..

jkleinsc ، لقد أزلت

@ MiXT4PE الذي أعرفه ، لا أحد يعمل على هذا حاليًا.

تضمين التغريدة ما هي الصعوبات؟

أنا فعلا أود أن أعرف. جميع الحلول التي يقدمها الفريق والآخرون بعيدة عن أن تكون مقبولة. نحتاج إلى طريقة سلسة وأصلية لاستخدام الكائن و / أو إطار iframe لإظهار ملف PDF المضمّن.

@ MiXT4PE كان الشيء الرئيسي الذي محاولة نقله عبر عارض Chromium هو اعتماده على نظام تمديد الكروم. يدعم الإلكترون جزءًا فقط من هذا النظام مما يجعل من الصعب دمج العارض.

jkleinsc لماذا تعمل مع Electron 2.x وتوقفت عن العمل مع 3.x والإصدارات الأحدث؟ هل كان عارض pdf في Chromium 61 (Electron 2.x) لا يعتمد على نظام تمديد Chromium؟

عندما يتوقف 2.XX عن تلقي ترقيات الأمان قريبًا ، سينتقل هذا الوضع من رهيب إلى كارثي ...

أقتبس ملاحظات الإصدار 3.0.0 :

عارض PDF لا يعمل حاليًا ولكن يتم العمل عليه وسيعمل مرة أخرى قريبًا

@ MiXT4PE مفتوحة المصدر إلى حد كبير مدفوعة بالتطوع والتعاون. لهذا السبب ، غالبًا ما يكون الوقت والطاقة لإنجاز الأشياء من أندر الموارد. نريد أن تكون Electron أفضل ما يمكن أن تكون عليه ، ولكن علينا أيضًا أن نكون واقعيين بشأن ما يمكن لفريق الحفاظ على Electron تحقيقه. هذا يعني ذاك:

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

jkleinsc أنا أتفق معك ... لكن
ثاكس لكل صبر ^ ^.

dalexhd للأسف ، لا يمثل ذلك أولوية بالنسبة للشركات التي تدفع

الكل: هذه لعبة مفتوحة المصدر .. إذا كنت تريد ميزة: افعلها أو ادفع مقابلها أو

jkleinsc ماذا عن إضافة هذا الريبو إلى issueHunt أو Github Sponrors كما أقترح في هذا الإصدار # 18113؟ قد يحفز هذا الأشخاص على العمل على ميزات مثل هذه ..

popod نعم ، ستكون هذه المشكلة مناسبة جدًا لشيء مثل IssueHunt. سأقوم بتمريرها إلى المشرفين الآخرين.

ث. ؟
تقصد ، يمكننا الحصول على أموال مقابل إضافة ميزات / إصلاحات أخطاء (~~ تفجير الدماغ)؟

أنا على استعداد لطرح 1000 دولار لهذه الميزة. اي شخص اخر؟

أنا حاليا خارج المكتب. سأعود يوم 5 أغسطس 2019.
سأجيب على رسالتك عندما أعود.

تتعلق الاستجابة برسالة بريد مع الموضوع التالي:
Re: [إلكترون / إلكترون] تمكين عارض PDF (# 12337)


أرسلت (ج) GRZ / RACON Linz 2019 وكيل "غياب"


Raiffeisen Software GmbH
رقم السجل التجاري: 86804d، Landesgericht Linz
DVR: 0572934، UID: ATU 36961105

تبادل الرسائل مع المرسل المذكور أعلاه عبر البريد الإلكتروني
لأغراض إعلامية فقط. الإقرارات القانونية
قد لا يتم تبادلها عبر هذا الوسيط.
المراسلة مع المرسل المذكور أعلاه عبر البريد الإلكتروني هي فقط من أجل
أغراض المعلومات. لا يجب استخدام هذه الوسيلة لتبادل

الاتصالات الملزمة قانونًا.

jkleinsc الآن بعد أن بدأ دعم الامتداد الأفضل مع # 17440 - هل تعتقد أنه سيتم استئناف العمل في هذه المشكلة مرة أخرى؟

@ MiXT4PE نأمل. سأقوم على الأقل بتحديث # 17163 لسحب التغييرات من # 17440 ومعرفة ما إذا كان العمل الحالي هناك يؤدي إلى إلغاء حظر الأشياء.

jkleinsc شكرا لك!

شكرا 👍

لا أعرف إلى أي مدى سيساعدك هذا يا رفاق ، ولكن يمكن أن يكون هناك حل مؤقت لمشكلة PDF باستخدام Mozilla pdfjs حتى يدعم Electron ملفات PDF الأصلية في المستقبل القريب. يمكن التحقق من mimeType لعنصر التنزيل في Electron وتوجيهه إلى viewer.html لملفات pdfj لفتح وتحميل ملف pdf في عارض Mozilla PDF.

يمكن أن يكون مقتطف العمل الصغير كما يلي:

function createWindow () {
  // Create the browser window.
  session.defaultSession.on('will-download', onDownload);
  mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      webviewTag: true
    }
  })

function onDownload(event, item, webContents) {
  console.log('onDownload');
  // Prevent from downloading pdf file.
  if (item.getMimeType() == 'application/pdf' && item.getURL().indexOf('blob:file:') != 0) {
    event.preventDefault();
    BrowserWindow.getFocusedWindow().loadFile(path.resolve(__dirname, "pdfjs/web/viewer.html"));
    //mainWindow.loadUrl(path.resolve(__dirname, "pdfjs/web/viewer.html"));
  }
}

لدي عرض عملي لنفسه هنا: https://github.com/mailtokartik1/sampleElectron.
من الواضح أنه يمكنك إضافة pdfjs كجهاز تحكم عن بعد ولكن هذا مجرد عرض توضيحي عملي. أتمنى أن يساعد هذا شخص ما.

@ mailtokartik1 لا يدعم Mozilla pdf.js إكمال الحقل. هذه هي القضية الرئيسية.

dalexhd نعم ، لكنني اكتشفت أنه لا يوجد أي رمز حل بديل لهذه المشكلة في هذا الموضوع وربما يبحث بعض الأشخاص عن حل بديل.

مرحبا @ mailtokartik1
هل يمكن أن تشرح كيف سيعمل هذا الحل البديل على مستوى عالٍ؟ يبدو أنه يعترض الطلب ويعيد التوجيه إلى عارض ، لكني لا أرى var "encodedUrl" قيد الاستخدام. ؟

مرحبًاNashorn
نعم ، لم يتم استخدام encodeUrl هنا ، كنت أحاول الحصول على عنوان URL المشفر لصفحة الويب وعرضه على المستخدم ، ولكن بعد ذلك ، كان يعمل بشكل جيد بدونه ولم أشعر أنه ضروري (تحرير تعليق راجع للشغل). حول الشرح ، يتمثل السلوك الافتراضي لـ Electron في تنزيل روابط pdf ، لذلك إذا استمعنا بشكل أساسي إلى الحدث will-download وتحقق مما إذا كان ملف PDF ، فيمكننا توجيه المحتويات إلى عارض pdfjs.

@ mailtokartik1 لا أعتقد أن هذا يعمل مع ملفات PDF المضمنة.

أرغب في تضمين ملفات PDF في HTML عبر iframe وإعادة التوجيه فقط إلى شاشة بيضاء عندما أقوم بتنفيذ ما قمت به.

teckwrek أنا على استعداد لدفع 1000 دولار لهذه الميزة. اي شخص اخر؟

سأضيف بسهولة 500 دولار إلى هذا القدر. jkleinsc : هل قام أي شخص بإعداد Issuehunt؟

أنا على استعداد لإضافة امتناني الجنوني لأنني فقير.

jkleinsc هل أحرزت أي تقدم؟ أيضًا: ما الإجراء الذي يجب دفعه مقابل هذه الميزة؟

@ MiXT4PE للأسف لا. يبدو أن IssueHunt يريد أذونات GitHub أكثر مما نرتاح له ، ولكن أي شخص حر في فتح مكافأة على BountySource أو نظام أساسي مماثل.

jkleinsc هل هناك مشكلات أكثر أهمية في الوقت الحالي أم أنه تم حظرها بواسطة شيء آخر؟

@ DanielJackson-Oslo teckwrek يمكنك وضع مكافأة على هذه المشكلة على https://www.bountysource.com/issues/56240517-enable-pdf-viewer

أضافteckwrek @ MiXT4PE مبلغ 500 دولار

jkleinsc بأي طريقة أخرى يمكننا المساعدة في إنجاز ذلك؟

@ DanielJackson-Oslo أسهل طريقة للتغلب على هذا الأمر إلى حد بعيد هي إضافة رمز عارض pdf.js من هنا [انقر فوق ثابت (v2.1.266)] إلى مجلد ثابت في تطبيقك الإلكتروني وتحميله في إطار iframe src="statics/pdfjs/web/viewer.html?file=file:///path/to/some.pdf" أو حتى ملف pdf بترميز base64 مثل src="statics/pdfjs/web/viewer.html?file=data:application/pdf;base64,<data>"

[عدل] ربما يخضع الأخير إلى حد عنوان URL يبلغ 2 ميغا بايت ، إلا إذا تم رفع ذلك في الكروم أو الإلكترون الأخير.

@ mosu-forge شكرا لك. في الوقت الحالي ، توجد مشكلات في pdf.js وإنشاء تطبيق رد فعل ، لم أتمكن من حلها في المرة الأخيرة. سأصل إليه لاحقًا ، لكنه لا يزال يبدو وكأنه اختراق. سيؤدي إصلاح هذه المشكلة والحصول عليها من Chromium إلى حل أفضل بكثير.

راجع https://github.com/wojtekmaj/react-pdf/issues/413 و https://github.com/wojtekmaj/react-pdf/issues/291 وكذلك https://github.com/mozilla/pdf .js / قضايا / 10813

لم أحاول إضافته بنفسي مثلما وصفته هناك ، سأضعه في قائمة الأعمال المتأخرة :)

توجد حلول لعرض مستندات PDF ، ومع ذلك ، فإن تنفيذ Chrome متفوق إلى حد كبير ، ومن ثم فإن ثقلنا في هذه المشكلة ؛ يتفوق المكون الإضافي PDF في Chrome على جميع تطبيقات React pdf.js التي أجريتها لاختبار القيادة حتى الآن ، سواء من حيث الأداء أو البساطة / المتانة.

@ mosu-forge

أيضًا ، يبدو تضمين pdf.js بمثابة "اختراق" غير ضروري عندما يكون لدى Chromium دعم أصلي لقراءة PDF.

من الأسهل كثيرًا السماح لـ Chromium بالتعامل معه بدلاً من الاضطرار إلى مسح الصفحة بأكملها بحثًا عن أي إطار يحتوي على مصدر PDF واستبداله بعارض pdf.js ، على الأقل في رأيي. (مثال على أساس متطلبات الاستخدام الخاصة بي.)

teckwrek > أنا على استعداد لدفع 1000 دولار لهذه الميزة. اي شخص اخر؟

إنه متاح هنا: https://www.bountysource.com/issues/56240517-enable-pdf-viewer
فقط للتذكير!

@ MiXT4PE أضاف DanielJackson-Oslo 1000 دولار

jkleinsc من فضلك!

لدي مشاكل في إجراء الاختبارات ، هل يمكن لأي شخص مساعدتي؟ أريد أن أحاول حلها

اختباراتي تفشل في التثبيت الجديد. أفترض أنه يجب علي تشغيله حتى أبدأ التغييرات - هل يمكنك المساعدة في تشغيلها؟

إصدار العقدة المستخدمة: v8.16.0
نظام التشغيل: Linux x64 kernel 5. * (كيدي نيون)
جميع المكتبات المثبتة والأدوات المترجمة كما في الوثائق

Running: Main process specs
Unhandled exception in main spec runner: electron/spec-main/api-net-spec.ts(1055,29): error TS2345: Argument of type 'ClientRequest' is not assignable to parameter of type 'WritableStream'.
  Property 'writable' is missing in type 'ClientRequest' but required in type 'WritableStream'.

Traceback (most recent call last):
  File "/home/tcd/electron-gn/src/electron/script/dbus_mock.py", line 28, in <module>
    subprocess.check_call(sys.argv[1:])
  File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/tcd/electron-gn/src/out/Debug/electron', 'electron/spec-main']' returned non-zero exit status 1
✗ Electron tests failed with code 1.
npm ERR! Test failed.  See above for more details.

أي تحديثات؟ تضمين التغريدة

هل يمكن لأي شخص تقديم تقدير معقول لما قد يتطلبه الأمر بالدولار لجعل ذلك أولوية؟ هل من الممكن أن تكون جاهزًا بحلول أبريل 2020؟

هل يمكن لأي شخص تقديم تقدير معقول لما قد يتطلبه الأمر بالدولار لجعل ذلك أولوية؟ هل من الممكن أن تكون جاهزًا بحلول أبريل 2020؟

على ما يبدو> 1600 دولار (https://www.bountysource.com/issues/56240517-enable-pdf-viewer)

أرى أن هذا هو ما تم الالتزام به ، فأنا أطلب من شخص ما كتابة هذا الرمز ما يتطلبه الأمر. عند 1600 دولار ، ما زلنا ننتظر الحل. هل 4000 دولار هدف أفضل؟ 16000 دولار؟ لا أعرف مستوى الجهد المبذول في ما يجب القيام به ، لذا من الصعب بالنسبة لي معرفة ما هو معقول.

مرسل من الايفون الخاص بي

في 8 ديسمبر 2019 ، الساعة 9:31 صباحًا ، كتب Leon Heess [email protected] :


هل يمكن لأي شخص تقديم تقدير معقول لما قد يتطلبه الأمر بالدولار لجعل ذلك أولوية؟ هل من الممكن أن تكون جاهزًا بحلول أبريل 2020؟

على ما يبدو> 1600 دولار (https://www.bountysource.com/issues/56240517-enable-pdf-viewer)

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو اعرضها على GitHub ، أو قم بإلغاء الاشتراك.

namotco يمكنك تعيين مكافأة تنتهي صلاحيتها. ما عليك سوى اختيار انتهاء الصلاحية خلال 3 أشهر والتعهد بكل ما ترغب في دفعه مقابل هذه الميزة. إما أن تحصل على الميزة حتى ذلك الحين أو تستعيد أموالك.

يجب أن يكون هذا جاهزًا للاختبار في 10 .x القادمة كل ليلة. آمل أن يكون backport إلى 9.x أيضًا ، على الرغم من أنه قد لا ينتهي به الأمر إذا تسبب في حدوث مشكلات.

يا إلهي شكرا جزيلا لك شخص جميل جميل !!

يمكنني أن أؤكد أنه في أحدث إصدار ليلي (10.0.0-night.20200216) يعمل عارض PDF مرة أخرى. شكرا على العمل الجاد لجميع المعنيين.

شكرا لك على هذه الميزة التي طال انتظارها!
هل يتضمن هذا بطريقة ما القدرة على الطباعة؟

شكرا لك على هذه الميزة التي طال انتظارها!
هل يتضمن هذا بطريقة ما القدرة على الطباعة؟

في تطبيقي ، لا تزال طباعة PDF لا تعمل. تظهر لي هذه الأخطاء "تم تدمير ipc_message_attachment_set.cc MessageAttachmentSet مع مرفقات غير مستهلكة"

مرحبا nornagon .... لقد أكدت أن عارض PDF يعمل

هل يمكنني طلب إصلاح وظيفة التنزيل والطباعة أيضًا؟

godzateckwrek إنها مشكلة معروفة في الوقت الحالي. أراد nornagon إصدار عارض PDF عامل أولاً وربط الباقي بعد ذلك. شكرا مرة أخرى nornagon !

انظر قضايا المتابعة:

22179

22178

22180

nornagon شكرًا لإصلاح ملف PDF. لقد رأيت أنه من المفترض أن يكون في Electron 9.0.0-beta.2 وللأسف لا أحصل إلا على خلفية رمادية و 3 رموز عندما أحاول تحميل ملف PDF.

@ Order256 آه ، نعم ، أرى نفس الشيء. تم فتح https://github.com/electron/electron/issues/22286 لتتبع المشكلة.

أنا لست متأكدا ما يجب القيام به مع فضله على نهايتي، عندما حاولت ذلك مع [email protected] وأفترض أنا ضربت علة # 22286

pbmzero هل لديك رابط إلى ملف pdf الذي تواجه مشكلة فيه؟ https://gist.github.com/248085f4c2376e9211479f2d09634050 هذا يعمل لي في 10.0.0 ليلاً. 20200218.

nornagon حسنًا ، لقد

كنت أتوقع أنه سيعمل داخل iframe وفقًا لهذا المثال: https://www.w3docs.com/tools/code-editor/1087

هذا المثال مناسب لي في iframe: https://gist.github.com/c097b618d2c1cfccf99c6a80fb15c550

nornagon في الواقع إنه يعمل. سأمضي قدما وأفرج عن المكافأة. على أمل أن هذا العصي!

بالنسبة لي ، فإن [email protected] كل ليلة .20200221 يعمل بشكل مثالي لست حالات عرض PDF لدي - هذا عمل ممتاز ، شكرًا جزيلاً! فقط على أمل الحصول على ميزة الطباعة.

لقد جربت أحدث إصدار 9.0.0 (بيتا 3) ومعاينة pdf تعمل معي الآن. شكرا لك مرة أخرى!

هل لديك أي فكرة عن متى سيصبح الإصدار 9.0.0 beta 3 أو أحدث (حتى الإصدار 10) إصدارًا رسميًا؟

waltder Electron 9 تم نقل التاريخ المستقر إلى تاريخ Chromium's M83 المستقر ، 19 مايو. هناك علاقات عامة قيد المعالجة هنا https://github.com/electron/electronjs.org/pull/3770 لتحديث الموقع.

jkleinsc شكرا على المعلومات.

هل سيتم إصلاح ميزات الطباعة والتنزيل في أي وقت قريبًا؟

نبأ عظيم أن عارض pdf يعمل مرة أخرى. شكرا جزيلا!
توجد بالفعل تذكرتان مفتوحتان لطباعة # 22179 وتنزيل # 22178

nornagon هل ستعمل على هذه التذاكر أيضًا؟ أو يمكنك إعطاء تقدير للجهد؟

مرحبا! أنا أستخدم Electron 9.0.5 المستقر ولكن عندما أحاول فتح ملف pdf تكون الشاشة رمادية. هل فاتني شيء؟

مرحبا،
من جانبي كان هذا السلوك السيئ بسبب هذا الجزء البسيط من الكود app.commandLine.appendSwitch('disable-site-isolation-trials');
لا أفهم العلاقة بين ميزة PDF وهذا الجزء من الكود ولكن عندما أزيله ، فإنه يعمل كما هو متوقع.

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