العثور على النص في PDF: Tm أو Td/TD؟

أعلم أن هذا السؤال قد تم طرحه من قبل مرتين ، لكنني أريد توضيح ذلك. لدي قارئ pdf وأريد إضافة وظيفة مميزة إليه. يمكنني بالفعل استخراج النص عن طريق تحليل معامل Tj و TJ . الآن أريد العثور على موقع النص في ملف pdf.

في البداية حاولت العثور على قيم Tm . لقد تمكنت من استخراج (x، y) من Tm ، ولكن لا يبدو ذلك صحيحًا. لذلك قررت الذهاب إلى Td و TD . المشكلة هي أنه يبدو أن ملف pdf لا يحتوي على أية قيم Td أو TD ، نظرًا لأنه لا يتم استدعاء عمليات استدعاء المشغل مطلقًا. (أضع سجلًا في رد الاتصال لمجرد معرفة ما إذا كان يتم الاتصال به ، ولكنه لم يظهر أبدًا).

لذا ، فإن سؤالي هو ما إذا كنت أرغب في العثور على موضع النص في ملف pdf ، ما الذي سأبحث عنه؟ قيم Tm أو قيم Td/TD ؟ أم هو على حد سواء؟

سؤال اضافي:

يحتوي Tm على ستة معلمات: a و b و c و d و e و f . أعلم أن e و f تمثل tx و ty ، ولكن ماذا تمثل المعلمات الأربع الأخرى؟

3
@ user1412469 هل وجدت الحل لإيجاد الإحداثيات؟
وأضاف المؤلف Matrosov Alexander, مصدر
@ عمر بن عبدالحفيث الآن ماذا؟
وأضاف المؤلف user1412469, مصدر
@ عمار حسناً هل يمكنك مساعدتي على سؤالي؟
وأضاف المؤلف user1412469, مصدر
تضمين التغريدة ردًا علىKenS
وأضاف المؤلف user1412469, مصدر
Tm عبارة عن مصفوفة تحويل ، وعلى هذا النحو تؤثر المعلمات الأربع الأولى على تحويلات القياس والدوران والقص. انظر القسم 4.2.2 على p204 من الدليل المرجعي PDF والقسم 4.2.3 "مصفوفات التحول" على p207.
وأضاف المؤلف KenS, مصدر
الآن سوف stackoverflow المستخدمين مساعدتك أكثر :)
وأضاف المؤلف Omar Abdelhafith, مصدر

1 إجابة

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

بالإضافة إلى Tm و TD و Td ، تحتاج إلى التعامل مع T * ، بالإضافة إلى TJ و Tj تحتاج إلى التعامل مع "و" إذا كنت تريد أن تعرف كيف يتم وضع النص داخل عملية "عرض" واحدة ، يجب عليك أيضًا التفكير قيم Tc و Tw و Tz و TL و Ts.

قد تحتاج أيضًا إلى التعامل مع مصفوفة التحويل الحالية.

2
وأضاف
لدي بالفعل طرق للتعامل مع T * ، "،" ، Tc ، Tw ، TL ، و Ts (سألحق بالبحث عن Tz). إذن أنت يعني أنني يجب أن استخدم كل منهم؟
وأضاف المؤلف user1412469, مصدر
حسنا اذا! فقط أريد المزيد من السؤال. كيف سأربط كل المعلومات التي سأجمعها للعثور على موضع النص؟ أعني كيف سأربط قيم Tm أو قيم Td/TD بالقيم الأخرى؟ هذا ما ينغصني الآن
وأضاف المؤلف user1412469, مصدر
شكرا جزيلا على الإجابة لك! لقد واجهت مشكلة أخرى. لا يبدو أن بعض صفحات ملف pdf تحتوي على مشغلات Td أو TD. لا تسجل أي عمليات رد ، لذا افترضت أنها لا تستعمل المشغلين المذكورين على الإطلاق. هل ستكون هذه مشكلة بالنسبة لي؟
وأضاف المؤلف user1412469, مصدر
آه هذا ما يفسر ذلك! شكرا جزيلا لك على مساعدتك! :د
وأضاف المؤلف user1412469, مصدر
يعتمد الأمر على ما تحاول القيام به بالضبط ، ولكن إذا كنت تريد وضع نص دقيق ، ثم نعم ، كلهم ​​، و CTM ، وربما بعض الأشياء الأكثر غرابة مثل مقاييس W2 ، باختصار كل شيء تأثير على وضع الحروف الرسومية.
وأضاف المؤلف KenS, مصدر
للعثور على الأصل الأولي تضاعف مصفوفة النص من خلال مصفوفة التحويل الحالية. المصفوفات الناتجة Tx و Ty هي أصلك. ستحتاج بعد ذلك إلى تتبع موضع النص عند رسم الحروف الرسومية. إذا كان الخط يحتوي على مصفوفة Widths ، يمكنك استخدام ذلك لحساب النقطة الحالية بعد كل حرف رسومي. ستغير قيم حالة نص معينة عرض الحروف ، لذا كن حذرًا هنا (مثل Tc و Tw). يقوم TD بنقل النقطة الحالية بواسطة Tx و Ty ، ويقوم Td بنفس الطريقة ولكن يستخدم وحدات نصية غير محسوبة. T * مشابه ولكنه يستخدم قيمة بادئة في حالة النص كقيمة Ty. وما إلى ذلك وهلم جرا....
وأضاف المؤلف KenS, مصدر
ليس حقا ، من الممكن تماما عدم استخدام هذه المشغلين ، بدلا من ذلك PDF يمكن وضع خطوط النص بشكل فردي. في الواقع ، أود أن أقول إن هذا هو الاستخدام الأكثر شيوعًا و TD أو Td أقل استخدامًا بكثير. انها فقط في الحالة العامة لديك لتلبية جميع الاحتمالات.
وأضاف المؤلف KenS, مصدر