لماذا يكون نص تذييل PDF الخاص بي غير مرئي؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

أقوم بإنشاء ملفات PDF حسب الطلب باستخدام ColdFusion وثيقة CFD العلامة، مثل ذلك:

<cfdocument format="PDF" filename="#attributes.fileName#" overwrite="true">
    <cfdocumentitem type="footer">
        <table border="0" cellpadding="0" cellspacing="0" width="100%">
            <tr>
                <td align="left"><font face="Tahoma" color="black"><strong>My Client's Corporation</strong><br/>Street address<br/>City, ST 55555</font></td>
                <td align="right"><font face="Tahoma" color="black">Phone: 555.555.5555<br/>Fax: 555.555.5555<br/>Email: info@domain.com</font></td>
            </tr>
        </table>
    </cfdocumentitem>
    <html>
        <body>
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
            <!--- some content here ... --->
            </table>
        </body>
    </html>
</cfdocument>

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

screenshot of problem

أي أفكار حول كيفية تصحيح هذه؟

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

المحلول

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

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

قضيت بعض الوقت في محاولة إعادة كتابة رمز التذييل باستخدام DDX كما هو موضح هنا و ال CFPDF علامة لتنفيذه؛ولكن حتى بعد عدة ساعات من الاختراق والحصول أخيرًا على DDX صالح كما ورد في الجديد دالة isDDX, ، أبلغت علامة CFPDF أن DDX غير صالح لسبب ما.

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

نصائح أخرى

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

  • جرب خطاً غير تاهوما كاختبار.يجب أن يدعم جميع برامج قراءة ملفات PDF 14 خطًا أساسيًا، بما في ذلك 4 متغيرات Helvetica، و4 متغيرات Times، و4 متغيرات Courier، وSimpo، وZapfDingbats، لذا فهذه اختيارات آمنة دائمًا
  • معرفة ما إذا كان ColdFusion يوفر أي تحكم في تضمين الخط
  • جرب قائمة البدائل في تعريف الخط، مثل "Tahoma,Helvetica,sans-serif"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top