كيف يمكنني استخدام العوامات مع XSL-FO في C# (NFOP)؟

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

  •  30-09-2019
  •  | 
  •  

سؤال

سؤال: هل يدعم NFOP يطفو؟

خلفية: لدي شرط إنشاء تقرير قابل للطباعة ، يحتوي على أرقام الصفحات وشعار الشركة وجدول البيانات. التقرير مخصص لمشروع قائم على الويب ، وفي البداية كنت أفكر في القيام بذلك في HTML النقي مع ورقة أنماط طباعة CSS ، ولكن يبدو أن أرقام الصفحات وتقسيم خلايا الجدول مشكلة.

ولهذا السبب ، قررت أن أذهب إلى مسار توليد PDF ، باستخدام XSL لإنشاء XSL-FO واستخدام NFOP لإنشاء PDF. ومع ذلك ، يبدو أن NFOP لا يدعم <fo:float> جزء من XSL-FO؟

مما يقل ما يلي:

<fo:block>
  <fo:external-graphic src="c:\Projects\NFopSpike\NFopSpike\logo.jpg" />
  <fo:block>
    Foo
  </fo:block>
  <fo:block>
    Bar
  </fo:block>
</fo:block>

يضيء أدناه الرسم بالكامل:

<fo:block>
  <fo:float float="start">
    <fo:external-graphic src="c:\Projects\NFopSpike\NFopSpike\logo.jpg" />
  </fo:float>
  <fo:block>
    Foo
  </fo:block>
  <fo:block>
    Bar
  </fo:block>
</fo:block>

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

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

المحلول

NFOP (أحدث إصدار في مارس 2008) هو .NET Port of Apache FOP (آخر إصدار في يوليو 2010). لم يدعم Apache FOP مطلقًا: Float (انظر http://xmlgraphics.apache.org/fop/compliance.html#fo-object-float).

لذا فإن إجابة سؤالك هي: لا ، FO: تعويم للأسف غير مدعوم.

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