HTML إلى PDF مقابلبرمجيا إنشاء قوات الدفاع الشعبي عن طريق PHP

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

  •  06-07-2019
  •  | 
  •  

سؤال

لدي PHP التطبيق الذي يحتاج إلى توليد بعض الفواتير PDF PDF الجداول الزمنية مع لطيفة رؤوس/تذييلات.بعض ستاكوفيرفلوو المستخدمين نوصي باستخدام TCPDF لإنشاء مستندات PDF.في بحثي اكتشفت نهجين توليد ملفات Pdf:

1) برمجيا تنسيق PDF مثل ذلك:

    $tcpdf->SetFillColor(255, 0, 0);
    $tcpdf->SetTextColor(255);
    $tcpdf->SetDrawColor(128, 0, 0);
    $tcpdf->SetLineWidth(0.3);
    $tcpdf->SetFont('', 'B');

2) تحويل HTML إلى PDF

كيف تقرر أي نهج يجب أن تستخدم ؟

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

المحلول

ويمكنني أن أوصي Zend_Pdf ، وهو أسلوب برمجي وفقا لتصنيف الخاصة بك.

ووالتجريد HTML جميلة ولكن لا أعتقد أن لديك القدرة والسيطرة على API الرسم الهندسي الكامل على أساس كامل. أن نكون حذرين من المكتبات مثل FPDF التي لا تدعم UTF-8 من خارج منطقة الجزاء، واستخدام محلل الرجل الفقير إلى HTML "تحويل" إلى PDF.

وفيما يتعلق طلبك، لقد أنتجت نظام الذي يولد الفواتير قالب. يمكن للمستخدمين تحميل بلدي قالب PDF، الذي يستخرج من Zend_Pdf. ثم يتم استخدام هذا القالب في كل صفحة من الفاتورة ولدت، والسماح التخصيص سهلا.

لاحظ أن جمهوري هم أساسا مصممي الغرافيك القادرين على إنتاج هذه القوالب، لذلك كان الحل المناسب هنا. إذا جمهورك على دراية فقط مع HTML، 'تحويل' HTML إلى PDF قد يكون أفضل وسيلة.

نصائح أخرى

وأنا دائما يوصي إنشاء ملفات PDF حيوي ولكن على أساس القوالب التي يمكن تحريرها باستخدام أدوات المستخدم النهائي أو - على الأقل - من دون الحاجة إلى أن يكون مبرمج. في حالتك، التي ربما تكون HTML. بالنسبة لي، فإن الحل المثالي هو أن تأخذ قالب Office، وملء مع القيم برمجيا، والإخراج لPDF، كلما كان ذلك ممكنا من الناحية التقنية. أفعل القالب مكتب ملء جزء في PHP باستخدام tbsOOO ويعمل بشكل جيد للغاية.

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

مرحبا لديك خياران.يمكنك استخدام dompdf, التي تمكنك من تصميم المستند الخاص بك العادية مستند html و الاسلوب مع css.يمكنك تحويل هذه الوثائق إلى pdf.تجربتي كانت جيدة.لا تجعل العادية صفحة html باستخدام Zend_View وتحويل ذلك إلى pdf.بهذه الطريقة يكون لديك مرنة للغاية قالب نتيجة يمكنك جعل كل نوع من عرض القرارات في html الخاص بك-توليد الرأي.

→ ترى قائمة css-التوافق.

بدلا من ذلك هل يمكن استخدام livedocx.هذا يسمح أيضا قالب نهج ولكن أكثر جامد و html أقل.A التكامل الإطار زند في طريقها.

لدي خبرة واسعة في جميع المناهج الثلاثة:

  1. إنشاء المستند برمجيا باستخدام TCPDF (التي ، على الرغم من أنها مستمدة من FPDF, لا يدعم UTF-8 من خارج منطقة الجزاء).على الرغم من أن أنا مروحة ضخمة من الإطار زند, فإنه لا حاجة إلى الإشارة إلى أن Zend_Pdf ليست غنية بما فيه الكفاية حتى الآن في مجموعة ميزة استخدامها في هذا السبيل.

  2. وجود مصمم جرافيك إنشاء قالب, تحميل عنه باستخدام Zend_Pdf ثم إضافة محتوى إضافي على ذلك.Zend_Pdf (1.10.2 - 1.10.7) عملت بشكل جيد في هذه الحالة إلا عند محاولة إنشاء مثيل جديد من صفحة إضافة إلى الوثيقة - هذا ألقى الكثير من الأخطاء.

  3. تحويل من HTML إلى PDF باستخدام htmldoc.هذا النهج امتص بشكل سيئ ، ولكن أساسا بسبب القيود في htmldoc.

أنا لم تستخدم TCPDF HTML إلى PDF تحويل, ولكن إذا حكمنا من خلال الجودة الشاملة رمز أعتقد أنه لا بأس بعمل جيد.(حقا لقد دفعت حدة للحدود ، بما في ذلك تقديم غنية بالرسوم الوثائق RTL مجموعات الأحرف الصينية ، إلخ ، وكان أداء لا تشوبه شائبة).حتى إذا كنت قررت أن تفعل ذلك برمجيا ، أود أن أوصي باستخدام TCPDF ولكن إذا كان لديك قالب جميل من مصمم جرافيك و تنوي فقط إضافة الأشياء على رأس التحميل مع Zend_Pdf وتعديل من هناك هو خيار معقول (على الرغم من أنك سوف لا تزال في نهاية المطاف تنفيذ كلمة التفاف بعض الأشياء الأساسية).

وأوصى أيضا تحويل HTML إلى PDF:

  • فمن السهل أن ندرك
  • فمن الأسهل لتغيير تخطيط/تصميم لاحقا
  • ربما يمكن إعادة استخدام بعض html الصفحة

عندما خلقت مرة واحدة الجيل PDF على موقع اعتدت html2ps ومن ثم تحويلها بوستسكريبت إلى pdf في وقت لاحق.

أقترح البرنامجية التنسيق.

في .صافي العالم لقد كان واضحا التجارب السلبية مع html إلى pdf المحولات.يبدو أنها تقع في 2 فئات:

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

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

لقد كان متواضعا الخبرات المباشرة pdf واجهات برمجة التطبيقات php ولكن يبدو أن بعض بشكل أفضل المكتبات على هذه الجبهة.

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