لا تعرض ملفات PDF التي تم إنشاؤها على iPad بشكل صحيح على Windows

StackOverflow https://stackoverflow.com/questions/2589645

سؤال

ينشئ تطبيق iPhone ملفات PDF (بخط Arial). يعمل إصدار iPhone 3.1.x العادي بشكل رائع (بخلاف المشكلة المعروفة التي لا يمكن عرض ملفات PDF التي تم إنشاؤها على iPhone بشكل صحيح في مستندات Google أو على BlackBerry).

بينما أقوم بتحديث مشروعي لنظام التشغيل 3.2 و iPad ، فإنه يعمل بنفس الشيء ، ولا تزال ملفات PDF تبدو رائعة على تطبيق iPhone و iPad و Mac OS X (تطبيق المعاينة). ولكن الآن على Windows (Vista) ، يقول Acrobat 9.3.1 "لا يمكن استخراج الخط المدمج" xyzabc+arialmt ". قد لا تعرض بعض الأحرف أو تطبع بشكل صحيح".

وفي الواقع ، يستخدم Acrobat بعض الخط العام بدلاً من Arial (أو أي خط آخر أحاول).

يبدو أن Quartz 3.2 يولد أسماء الخطوط المدمجة "العشوائية" في كل مرة يقوم فيها بإنشاء ملف PDF (يتغير XyzABC في كل مرة). لا يمكنني معرفة ما إذا كانت المشكلة هي مجرد اسم الخط المدمج "المؤقت" الغريب إلى حد ما مع علامة Plus ، أو الطريقة التي يتم بها تضمين الخطوط.

لقد جربت الكود الحالي الخاص بي (باستخدام CGPDFContext* وظائف) ، وكذلك المدعومة حديثًا UIGraphics* وظائف ، مع نفس النتائج.

كيف يمكن إنشاء ملفات PDF على iPad لعرضها بشكل صحيح على Windows؟

هل كانت مفيدة؟

المحلول

تحديث مهم: اعتبارًا من iOS 4.2 ، قامت Apple بإصلاح الخطأ الذي أبلغته ؛ تحتوي PDF التي تم إنشاؤها من الكوارتز على iOS الآن على خطوط مضمنة بشكل صحيح. سأترك ما تبقى من هذه الإجابة كما هو ، ولكن لا تستخدم هذه الآلية على iOS 4.2 أو أحدث.

قارئ Adobe هو بشكل صحيح ، إذا كان غير مستحيل ، بعد مواصفات PDF. لقد بحثت في هذا لأنه كان يؤثر على أحد تطبيقي وتوثيق النتائج التي توصلت إليها هنا: http://blog.nomzit.com/2010/08/18/annoying-bug-in-quartz-pdfcontext-font-handling/

هناك حل بديل بسيط موثق هناك يتسبب في تصرف قارئ Adobe بنفس البدائل الأكثر فائدة.

لقد أبلغت أيضًا عن الخلل في Apple

نصائح أخرى

حاول استخدام قارئ Foxit لفتح ملفات PDF الخاصة بك على Windows بدلاً من Adobe Reader. عملت معي.

باستخدام صفحات على iPad ، تحدث نفس المشكلة. سأكون مهتمًا بالعثور على إجابة:

http://discussions.apple.com/thread.jspa؟threadid=2389034&tstart=0

بالإضافة إلى تحليل Phil ، وجدت أن العديد من مستخدمي Windows لم يكن لديهم واحد أو أكثر من الخطوط القياسية (مثل Helvetica) المثبتة. ستشير PDFs التي تم إنشاؤها عبر الكوارتز إلى إحدى هذه الخطوط القياسية ، والتي ستقدمها قارئ Adobe باستخدام الخط الأقرب التالي في جدول البحث الخاص به ، مما يؤدي إلى ملفات PDF ذات المظهر الفردي. لم يتم تضمين خطوط نظام iPhone / iPad القياسية بشكل صحيح ، ربما بسبب ما وجده Phil في PDF التي تم إنشاؤها بواسطة الكوارتز.

في جميع الحالات التي ركضت فيها ، تم حل هذا عن طريق تثبيت المستخدم Helvetica (أو أي خط آخر مفقود) على جهاز Windows الخاص بهم ، وعندها ستقدم PDFs بشكل صحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top