Pdf.js: أضف حجم الورق إلى معلومات المستند

تم إنشاؤها على ١٥ فبراير ٢٠١٦  ·  29تعليقات  ·  مصدر: mozilla/pdf.js

هل من الممكن أن تضيف حجم الورق إلى معلومات المستند؟

من المهم معرفة ما إذا كان المستند يستخدم حجم ورق letter أو A4 (من بين أمور أخرى).

1-viewer 2-feature

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

لا يمكنني البرمجة ، لذلك قد يقدم المبرمجون ذوو الخبرة نصيحة أفضل

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

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

ال 29 كومينتر

وهل يمكن أن تشمل عمودي / أفقي؟

ما هو السلوك المتوقع إذا تم استخدام أحجام / اتجاهات متعددة للصفحات ، على سبيل المثال ، بعض الصفحات عبارة عن صورة بحجم A4 ، ولكن بعضها من نوع A3 أفقي على سبيل المثال؟ كيف يفعل المشاهدون الآخرون ذلك؟

ونحتاج أيضًا إلى التعامل مع التدويل والتعريب ، على سبيل المثال

  • يجب ترجمة "A4" أو "Letter"
  • يجب أن تكون 10 سم × 15 سم بالبوصة بالنسبة للولايات المتحدة

رد: التناوب. سأقوم بفحص ما يفعله PR 8043 بالنسبة لي. قد يصلح مشكلتي. يبدو أنني بحاجة حقًا إلى قراءة PR 8043 و # 6103 بشكل صحيح ، والتأكد من أنني في إصدار متأخر مع تطبيق تلك الإصلاحات.

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

تشتمل الأكواب على رأس بحجم الوسائط مع كل مهمة طباعة ، لذلك يقتصر نظامي Linux و MacOS على حجم واحد لكل مهمة طباعة ، على حد علمي.

إعادة: التعريب.
تحتوي الطابعة على قائمة بأحجام الورق الممكنة والمتوفرة.
يعرف مربع حوار طباعة نظام التشغيل اللغة المحلية للمستخدم وقائمة الطابعات.
لا يعرف مربع حوار طباعة نظام التشغيل الحجم الأصلي.
يعرف عارض pdf اللغة ، ولكن ليس قائمة الطابعات ، لذلك لا يعرف قائمة الورق المتاح.
يعرف عارض pdf حجم PDF الأصلي.
يعرف منشئ pdf لغات الخادم والعميل.
يكره المستخدم "خطاب تحميل الكمبيوتر"

رد: التناوب. سأقوم بفحص ما يفعله PR 8043 بالنسبة لي.
إعادة: متعدد الحجم. تدعم الدونو إن وجدت الخلفية المطبوعة ذلك بدون تقسيم النسخة المطبوعة أنا ..
إعادة: الترجمة ... الطابعة لديها قائمة بأحجام الورق الممكنة والمتوفرة ...

berenddeschouwer لا أعتقد أن أيًا مما سبق متعلق بـ OP

ما هو السلوك المتوقع إذا تم استخدام أحجام / اتجاهات متعددة للصفحات ، على سبيل المثال ، بعض الصفحات عبارة عن صورة بحجم A4 ، ولكن بعضها من نوع A3 أفقي على سبيل المثال؟ كيف يفعل المشاهدون الآخرون ذلك؟

timvandermeij ، يعرض SumatraPDF حجم الصفحة

ونحتاج أيضًا إلى التعامل مع التدويل والتعريب ، على سبيل المثال

  • يجب ترجمة "A4" أو "Letter"
  • يجب أن تكون 10 سم × 15 سم بالبوصة بالنسبة للولايات المتحدة

yurydelendik ، لا أعتقد أنه يجب ترجمة A4 .

وبقدر ما أعرف ، يتم تحديد أبعاد الصفحة في نقاط داخل مستند PDF. لذلك يجب أن يستخدم PDF.js وحدة الأبعاد الافتراضية من نظام التشغيل.

ousia ما هو حجم الصفحة المتوقع للمستند على https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdf ؟

ousia ما هو حجم الصفحة المتوقع للمستند على https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdf؟

yurydelendik ، لا أفهم سؤالك.

الحجم هو خاصية متعلقة بالصفحة الفعلية ، وليس بالمستند.

في صيغة PDF ، /MediaBox هو إدخال في قاموس /Page ، وليس في /Catalog ( /Pages هو الإدخال هناك).

ما الذي يجب أن يكون حجم الصفحة في المستند الذي ذكرته؟

يعرض برنامج Acrobat Reader_ أبعاد الصفحة المعروضة. هنا لديك.

pageone

pagetwo

pagethree

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

يمكنني إيقاف هذا إذا لم يعمل عليه أحد.

loganhuskins إنه لك!

أعتقد أنني قريب جدًا ، أريد استخدام getPagesOverview() من base_viewer .

هل يجب أن أقوم باستيراد import { BaseViewer } from './base_viewer'; pdf_document_properties ثم أقوم باستيراد import { BaseViewer } from './base_viewer'; BaseViewer.getPagesOverview()[0] كقيمة pageSize التي أخطط لعرضها؟ يبدو أن هذا بطريقة ما لا يعمل ، هل هناك أي طريقة أخرى util يمكنني إعادة استخدامها للحصول على هذه المعلومات. آسف لاختطاف هذا من لوجان.

لقد انتهيت من العمل ، لذا إذا كنت تتولى هذا الأمر فأنا جيد.

مرحبا،
هل هذا ما تبحث عنه؟

compressed tracemonkey pldi 09 pdf

@ linton-Portman ، في هذه الحالة ، سيكون إضافة _Letter، Portman رائعًا.

أعني ، مع أحجام الورق القياسية ، من المفيد تقديم اسم الورق القياسي.

انظر ماذا يفعل _Evince_:

evince-properties

و _SumatraPDF_:

sumatrapdf-properties

أعني ، مع أحجام الورق القياسية ، من المفيد تقديم اسم الورق القياسي.

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

مرحبا،
من بين ما قرأته حتى الآن ، كانت الاختلافات في حجم الورق (الحرف الأمريكي = 8.50 × 11.00 بوصة و UK A4 = 8.26 × 11.69 بوصة) ... الطريقة التي كنت أتعامل معها كانت باستخدام سلسلة من عبارات if / else التحقق من هذه الأحجام. ثم سيحدد هذا النص الذي يتم عرضه .... وباستخدام هذه الأحجام أيضًا ، يمكنك أيضًا تحديد ما إذا كان الوضع الرأسي أم الأفقي ....

سيكون هذا كثيرًا من عبارات if / else اعتمادًا على عدد أحجام الورق التي يتم توفيرها ...
أنا مبتدئ / مبتدئ لذلك ربما هناك طريقة أفضل :)

a4 portrait pdf
letter portrait pdf

لاحظ أنه من الأفضل التعبير عن حجم A4 بالملم ، على سبيل المثال 210 مم × 297 مم

yurydelendik أوه نعم يمكنني فعل ذلك أيضًا.

هنا لديك قائمة (قمت بتكييفها من ConTeXt).

أحجام الورق القياسية الأوروبية:

[A0] [العرض = 841 ملم ، الارتفاع = 1189 ملم]
[A1] [العرض = 594 ملم ، الارتفاع = 841 ملم]
[A2] [العرض = 420 ملم ، الارتفاع = 594 ملم]
[A3] [العرض = 297 ملم ، الارتفاع = 420 ملم]
[A4] [العرض = 210 ملم ، الارتفاع = 297 ملم]
[A5] [العرض = 148 ملم ، الارتفاع = 210 ملم]
[A6] [العرض = 105 ملم ، الارتفاع = 148 ملم]
[A7] [العرض = 74 ملم ، الارتفاع = 105 ملم]
[A8] [العرض = 52 ملم ، الارتفاع = 74 ملم]
[A9] [العرض = 37 ملم ، الارتفاع = 52 ملم]
[A10] [العرض = 26 ملم ، الارتفاع = 37 ملم]

أحجام الورق القياسية الأوروبية الأقل شيوعًا:

[B0] [العرض = 1000 مم ، الارتفاع = 1414 مم]
[B1] [العرض = 707 ملم ، الارتفاع = 1000 ملم]
[B2] [العرض = 500 ملم ، الارتفاع = 707 ملم]
[B3] [العرض = 353 ملم ، الارتفاع = 500 ملم]
[B4] [العرض = 250 مم ، الارتفاع = 353 مم]
[B5] [العرض = 176 ملم ، الارتفاع = 250 ملم]
[B6] [العرض = 125 ملم ، الارتفاع = 176 ملم]
[B7] [العرض = 88 ملم ، الارتفاع = 125 ملم]
[B8] [العرض = 62 ملم ، الارتفاع = 88 ملم]
[B9] [العرض = 44 ملم ، الارتفاع = 62 ملم]
[B10] [العرض = 31 ملم ، الارتفاع = 44 ملم]

أحجام الأظرف الأوروبية القياسية:

[C0] [العرض = 917 ملم ، الارتفاع = 1297 ملم]
[C1] [العرض = 648 ملم ، الارتفاع = 917 ملم]
[C2] [العرض = 458 ملم ، الارتفاع = 648 ملم]
[C3] [العرض = 324 ملم ، الارتفاع = 458 ملم]
[C4] [العرض = 229 ملم ، الارتفاع = 324 ملم]
[C5] [العرض = 162 ملم ، الارتفاع = 229 ملم]
[C6] [العرض = 114 ملم ، الارتفاع = 162 ملم]
[C7] [العرض = 81 ملم ، الارتفاع = 114 ملم]
[C8] [العرض = 57 ملم ، الارتفاع = 81 ملم]
[C9] [العرض = 40 مم ، الارتفاع = 57 مم]
[C10] [العرض = 28 ملم ، الارتفاع = 40 ملم]

حجم ورق غلاف القرص المضغوط:

[القرص المضغوط] [العرض = 120 ملم ، الارتفاع = 120 ملم]

أحجام الورق القياسية الأمريكية:

[حرف] [العرض = 8.5 بوصة ، الارتفاع = 11 بوصة]
[دفتر الأستاذ] [العرض = 11 بوصة ، الارتفاع = 17 بوصة]
[تابلويد] [العرض = 17 بوصة ، الارتفاع = 11 بوصة]

[قانوني] [العرض = 8.5 بوصة ، الارتفاع = 14 بوصة]
[ورقة] [العرض = 8.5 بوصة ، الارتفاع = 13 بوصة]
[مسؤول تنفيذي] [العرض = 7.25 بوصات ، الارتفاع = 10.5 بوصات]

مجموعات مختلفة من المغلفات:

[مغلف 9] [العرض = 8.88 بوصة ، الارتفاع = 3.88 بوصة]
[مغلف 10] [العرض = 9.5 بوصة ، الارتفاع = 4.13 بوصة]
[مغلف 11] [العرض = 10.38 بوصة ، الارتفاع = 4.5 بوصة]
[مغلف 12] [العرض = 11.0 بوصة ، الارتفاع = 4.75 بوصة]
[مغلف 14] [العرض = 11.5 بوصة ، الارتفاع = 5.0 بوصة]
[العاهل] [العرض = 7.5 بوصة ، الارتفاع = 3.88 بوصة]
[تحقق] [العرض = 8.58 بوصة ، الارتفاع = 3.88 بوصة]
[DL] [العرض = 110 ملم ، الارتفاع = 220 ملم]
[E4] [العرض = 280 مم ، الارتفاع = 400 مم]

أعتقد أنه من المفيد إضافة ما إذا كان الاتجاه رأسيًا أم أفقيًا.

@ linton-Portman ، من ما أراه في لقطات الشاشة لدي سؤال:

ألن تكون المعلومات التالية أفضل؟

Letter, portrait (8.5  × 11 in)

أعني ، هذه التعديلات التالية:

  • استخدم اسم الورق أولاً.

  • تليها _ Portrait_ أو _landscape_.

    راجع للشغل ، إذا كان الفصل السابق عبارة عن فاصلة ، أعتقد أن الكلمة يجب أن تبدأ بحرف صغير.

  • اكتب الأبعاد داخل الأقواس.

    • من الأفضل استخدام علامة Unicode المناسبة _ × _ (بدلاً من _x_).

    • ما هو حجم الورق الذي يتطلب الأبعاد المحددة في القائمة السابقة.

    • أعتقد أنه من الأفضل استخدام الاختصارات لوحدات الطول (_in_ أو _mm_ في هذه الحالة).

إذا لم يكن ذلك ممكنًا ، فيجب وضع _ Portrait_ أو _landscape_ داخل الأقواس.

شكرا جزيلا لمساهمتك.

@ linton-Portman ، قد يكون استخدام switch بديلاً أفضل عن كشوفات الحساب if... else .

لا يمكنني البرمجة ، لذلك قد يقدم المبرمجون ذوو الخبرة نصيحة أفضل (لقد أجبت ببساطة على سؤالك ، لأنه ظل دون إجابة).

هنا لديك قائمة (قمت بتكييفها من ConTeXt).

كل ذلك يحتاج إلى ترجمة. أنا شخصياً أفضل العثور على 5-10 من أحجام الصفحات الأكثر استخدامًا ومنحهم أسماء.

حرف ، عمودي (8.5 × 11 بوصة)

نتيجة لذلك: "8.5 بوصة × 11 بوصة ، حرف / عمودي" أو "100 مم × 200 مم" فقط قد يبدو خيارًا أفضل هنا

من الأفضل استخدام علامة Unicode المناسبة × (بدلاً من x).

نعم ، ولكن الأمر متروك أيضًا للمترجمين لثقافة معينة

لا يمكنني البرمجة ، لذلك قد يقدم المبرمجون ذوو الخبرة نصيحة أفضل

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

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

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

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

تم إجراء المزيد من التحسينات في # 9577 ، والتي تم تنفيذها أيضًا لإظهار حجم الصفحة للصفحة المرئية حاليًا. بالنسبة لهذه المشكلة ، لا يتبقى سوى أحجام الصفحات الحرفية / الرأسية والافتراضية.

يتم تنفيذ الجزء الأخير من خلال طلب السحب أعلاه (اتجاه الصفحة وأسماء حجم الصفحة). إغلاق كما تم إصلاحه.

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