2013-07-11 3 views
6

में एक्सएमएल एक्सएसएलटी से पीडीएफ बनाने का सबसे अच्छा तरीका मुझे एक्सएमएल रिकॉर्ड्स के पीडीएफ को क्रेट करने की आवश्यकता है। मुझे लगता है कि एक्सएमएल से सीधे पीडीएफ बनाने का कोई तरीका नहीं है लेकिन एक्सएसएलटी या एक्सएसएल एफओ का उपयोग करके मुझे विश्वास है कि यह किया जा सकता है। मैं सी # का उपयोग करके ऐसा करने के अच्छे तरीके की तलाश में बहुत से लेख पढ़ रहा हूं।सी #

-> इसके दौरान सबसे अच्छा तरीका क्या है? कोई उदाहरण वास्तव में महान होगा।

मेरे परिदृश्य:

मैं एक्सएमएल कि तरह दिखता है:

<Products> 
    <Brand name="Test"> 
    <Quantity value="2/> 
    <Price value="$20"/> 
    </Brand> 
    <Brand name="Test2"> 
    <Quantity value="3/> 
    <Price value="$30"/> 
    </Brand> 
    <Brand name="Test3"> 
    <Quantity value="4/> 
    <Price value="$40"/> 
    </Brand> 
</Products> 

मैं एक पीडीएफ एक मेज यह सब जानकारी दिखा होगा कि कैसे बना सकते हैं?

मैं जानता हूँ कि इस तरह इसी तरह के सवाल के बहुत देखते हैं लेकिन उनमें से ज्यादातर पुराने हो गए हैं। किसी भी मदद की वास्तव में सराहना की।

+0

ठीक है, आपने क्या प्रयास किया है? चूंकि आप एफओ का जिक्र करते हैं: क्या आपने * एफओ * की कोशिश की है? उदाहरण के लिए fonet.codeplex.net? ध्यान दें कि एफओ तुच्छ नहीं है - उदाहरण के तौर पर आपको HTML के लिए बहुत अधिक काम करने की आवश्यकता है। इसके अलावा: क्या आपने एचटीएमएल-टू-पीडीएफ रूपांतरण उपकरण में से कोई भी माना है? (मैं कुछ साल पहले एचटीएमएलडीओसी का उपयोग करता था)। या निम्न स्तर के पीडीएफ निर्माण उपकरण में से कोई भी? –

+0

दोहराया http://stackoverflow.com/questions/1674257/using-xml-xslt-and-c-sharp-to-create-an-rtf-or-pdf – Mennan

+0

के रूप में मैं उल्लेख किया वे अधिकतर पुराने हो गए हैं एफओ के लिए अंतिम अद्यतन 200 9 में था। मैं कुछ ऐसा ढूंढ रहा हूं जिसे आसानी से सी # में उपयोग किया जा सकता है, और कोड के माध्यम से पीडीएफ निर्माण को स्वचालित करने के लिए सबसे अच्छा टूल के रूप में लिया जा सकता है। मैंने http://report.sourceforge.net/ पर देखा है, http://itextpdf.com/terms-of-use/index.php, http://www.pdfsharp.com/PDFsharp/ और कुछ और आवश्यकता है उन लोगों की प्रतिक्रियाएं जिन्होंने इसका इस्तेमाल किया है। – Bravo11

उत्तर

5

अतीत में मैं Ibex PDF Creator बुलाया XSL-FO मानक है कि वास्तव में अच्छी तरह काम किया है का उपयोग कर XML डेटा से पीडीएफ दस्तावेजों उत्पन्न करने के लिए एक वाणिज्यिक पुस्तकालय का उपयोग किया है।

XML डेटा:

<DocumentRoot> 
    <!-- Some content --> 
</DocumentRoot> 

XSL-FO लेआउट:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="/DocumentRoot"> 
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:ibex="http://www.xmlpdf.com/2003/ibex/Format"> 
      <ibex:properties 
       title="Some document" 
       subject="" 
       author="" 
       keywords="" 
       creator="" /> 
      <fo:layout-master-set> 
       <fo:simple-page-master master-name="A4" page-width="210mm" page-height="297mm"> 
        <fo:region-body margin-bottom="1cm" margin-top="3cm"/> 
        <fo:region-before extent="20mm"/> 
        <fo:region-after extent="8mm"/> 
        <fo:region-start extent="1mm"/> 
        <fo:region-end extent="1mm"/> 
       </fo:simple-page-master> 
      </fo:layout-master-set> 
     </<fo:root> 
    </xsl:template> 
</xsl:stylesheet> 

में पीडीएफ दस्तावेज़ जनरेट कर रहा है

यहाँ कैसे मैं इसे प्रयोग करेंगे का एक उदाहरण है .NET:

var data = new MemoryStream(dataBytes); 
var layout = new MemoryStream(layoutBytes); 
var pdf = new MemoryStream(); 

// Using the Ibex PDF Creator .NET API 
var doc = new FODocument(); 
doc.generate(data, layout, pdf); 

मुझे आशा है कि इस मदद करता है।

+0

धन्यवाद एनरिको क्या आप किसी भी ओपनसोर्स विकल्प का सुझाव देते हैं? – Bravo11

+0

व्यक्तिगत रूप से, मैंने एक्सएसएल-एफओ के लिए किसी भी ओपन सोर्स विकल्प की कोशिश नहीं की है। चूंकि जिस परियोजना पर मैं काम कर रहा था, वह उत्पाद बनाने के बारे में था, इसलिए हमने दस्तावेज़ीकरण और समर्थन के लिए एक वाणिज्यिक पुस्तकालय के साथ जाना चुना। –

+0

आपके उत्तर के लिए बहुत बढ़िया धन्यवाद। उम्मीद है कि यह मेरी भी मदद करेगा। – Bravo11

-1

आप नेट एपीआई के लिए Aspose.PDF का उपयोग करके एक्सएमएल से pdf फ़ाइल बना सकते हैं। मुझे transforming xml to pdf in C#/.NET पीडीएफ के लिए प्रोजेक्ट दस्तावेज़ पृष्ठ पर कोड नमूना मिल सकता है।

1

मैंने इस तरह की विधि में अपाचे Fop.bat का उपयोग किया। (System.Diagnostics का उपयोग करके)

private void XML_TO_PDF_VIA_FOP(String xmlName, String xsltName, String pdfName) 
    { 
     String batchFile = "XSLT\\FOPv1\\fop.bat";  
     String xmlFile = xmlName; 
     String xsltFile = "XSLT\\" + xsltName; 
     String pdfFile = pdfName; 
     Process.Start(batchFile, " -xml " + xmlFile + " -xsl " + xsltFile + " -pdf " + pdfFile); 
    } 
+1

कैसे Fop.bat बनाने के लिए? – Kalanamith

+0

से डाउनलोड करें (https://xmlgraphics.apache.org/fop/) – gman