2010-03-03 15 views
5

से पीडीएफ दस्तावेज खोलना iTextSharp के साथ मेमोरी में पीडीएफ दस्तावेज बनाना संभव है जो उपयोगकर्ता को "खोलने" या "सेव" करने का विकल्प देता है, और यदि यह खुलता है तो यह ब्राउज़र विंडो में खुलता है।मेमोरी

फिलहाल मैंने इसे डिस्क पर सहेज लिया है।

संपादित करें:

ठीक है, मुझे यह मिल गया है। मैंने फाइल को फ़ोल्डर में लिखना समाप्त कर दिया, लेकिन यह केवल अस्थायी है क्योंकि हर बार ओवरराइट हो जाता है। यहाँ क्या इसके लायक है के लिए समाधान है:

private void GeneratePDF() { 

    var doc1 = new Document(); 
    string path = Server.MapPath("~/pdfs/"); 
    string filepath = path + "Doc1.pdf"; 
    PdfWriter.GetInstance(doc1, new FileStream(filepath, FileMode.Create)); 

    doc1.Open(); 
    doc1.Add(new Paragraph("A new Document"));   
    doc1.Add(new Paragraph(DateTime.Now.ToString())); 

    doc1.Close(); 

    Response.Buffer = false; //transmitfile self buffers 
    Response.Clear(); 
    Response.ClearContent(); 
    Response.ClearHeaders(); 
    Response.ContentType = "application/pdf"; 
    Response.AddHeader("Content-Disposition", "attachment; filename=myPDF.pdf"); 
    Response.TransmitFile(filepath); 
    Response.End(); 

}

+0

अपने समाधान को उत्तर के रूप में पोस्ट करने और इसे स्वीकार करने के रूप में चिह्नित करने पर विचार करें। – dckuehn

उत्तर

0

आप एक अस्थायी फ़ोल्डर में सहेजने के लिए फिर फ़ाइल पर Process.Start फोन की आवश्यकता होगी।

0

पीडीएफ खोलने/दिखाने के लिए आप फ़ाइल को अस्थायी फ़ोल्डर में सहेजने के बाद एक्रोबैट सक्रिय घटक का उपयोग कर सकते हैं। मुझे पहले के शोध में पीडीएफ दिखाने के लिए मुफ्त नियंत्रण नहीं मिला।

3

आप पीडीएफ को मेमोरीस्ट्रीम में सहेज सकते हैं और इसे इस तरह के ब्राउज़र पर लिख सकते हैं।

protected void Page_Load(object sender, EventArgs e) 
{ 
    MemoryStream ms; 

    using (ms = new MemoryStream()) 
    { 
     PdfWriter writer = PdfWriter.GetInstance(myPdfDoc, ms); 

     Response.ContentType = "application/pdf"; 
     Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length); 
     Response.OutputStream.Flush(); 
     Response.OutputStream.Close(); 

    } 
} 
+0

मैं इस तरह कुछ ढूंढ रहा था, लेकिन मुझे लगता है कि कुछ अभी भी गायब है। क्या मुझे सामग्री/प्रकार – Dkong

+0

सेट करना है हां, आप बहुत अच्छी तरह से हो सकते हैं, संपादन देखें। –