سؤال

ولدي حاليا "PrintingWebService" أن أدعو من إحدى صفحات AJAX مع جميع المعلومات اللازمة لبناء نسخة مطبوعة PDF مخصصة للغاية باستخدام PDF شارب وGDI + وضع ال PDFSharp، والتي تأخذ الرباط وغيرها من الأوامر التي تعمل في الأساس مجرد مثل GDI + فقط تم اختيارهم إلى PDF.

وI ثم حفظ الملف PDF إلى موقع على الشبكة العالمية وإرجاع اسم الملف من خدمة على شبكة الإنترنت، وصفحة AJAX يفتح نافذة جديدة مع ملف قوات الدفاع الشعبي.

وحتى الآن، فإنه يعمل بشكل جيد، ومع ذلك، هناك جزء واحد من الصفحة AJAX لي أنني أريد أن طباعة وأنا لم آت إلى حل لحتى الان. لقد حصلت على سلسلة من محتوى HTML من محرر محرر TinyMCE التي أريد أن dispay في الجزء السفلي من الصفحة PDF.

وأنا أبحث عن نوع من أداة أتمكن من استخدام لهذا الغرض. حتى شيء مفتوحة المصدر التي تقوم بطباعة إلى GDI + I يمكن أن تستخدم من خلال اتخاذ شفرة المصدر وترجمتها إلى استخدام GDI PdfSharp ل+ (أسماء الفئة هي مثل XGraphics، مع كل فئة وجود X قبل GDI + الاسم).

وإذا كان لدي لسأقصر ما يمكن أن تتولد HTML التي كتبها محرر TinyMCE ويكتب لي العارض الخاص، ولكن هذا سيكون تحديا كبيرا، لذلك أنا أبحث عن حلول أخرى أولا.

ولقد بقي بعيدا عن نهج صفحة للطباعة لأنني أردت أن بناء الصفحة التي كانت بالقرب من مطابقة لالمطبوعة WinForms عناصر القائمة، وذلك باستخدام التعليمات البرمجية الموجودة بلدي. مع PdfSharp وكنت قادرا على تحويل كل رمز باستثناء الاشياء منطقة النص (التي تستخدم RichTextBox وRTF في النسخة WinForms عناصر).

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

المحلول

وتوني،

ولقد استخدمت شخصيا مكتبة ابكبدف WebSupergoo مع الكثير من النجاح. يمكنك جعل الواقع HTML مباشرة إلى PDF ويفعل بشكل جيد في ما يخص دقة.

والبرمجيات الحرة أخرى من شأنها أن تسمح لك المرونة لكتابة HTML إلى PDF بأنني استخدمت في الماضي مع الكثير من النجاح هو iTextSharp.

وبخلاف ذلك، أعتقد أن عليك أن تكتب شيئا لتقديم HTML إلى GDI.

وفي كلتا الحالتين، قد ترغب في النظر في استخدام HttpHandler الذي تقوم بتعيين باستخدام الملف web.config لإنشاء ملف PDF. وهذا سوف يسمح لك لجعل PDF إلى bytestream ثم تفريغ مباشرة إلى المستخدم (بدلا من الاضطرار إلى حفظ كل استلام PDF إلى خادم الويب). وسوف تسمح أيضا لتتمكن من استخدامها تمديد قوات الدفاع الشعبي في الصفحة التي ترجع استلام (يمكن تعيين PurchaseReceipt.pdf إلى HttpHandler) ... مما يجعلها أكثر عبر متصفح دية. سوف الإصدارات القديمة من أدوبي / المتصفحات لا يتم عرض بشكل صحيح إذا كنت تبدأ رمي تيار PDF بايت من صفحة ASPX.

وآمل أن يساعد هذا.

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