2011-10-11 6 views
5

में एक पीडीएफ फ़ाइल नई ब्राउज़र विंडो कैसे खोलें मुझे नए ब्राउज़र टैब में एक पीडीएफ फ़ाइल खोलने की जरूरत है। यह कैसे करना है। मैंजावास्क्रिप्ट

var docLocation = '../downloads/doc.pdf'; 
window.open(docLocation,"resizeable,scrollbar"); 

उपयोग कर रहा था लेकिन यह ब्राउज़र की एक डाउनलोड संवाद बॉक्स खुलता है। इसे कैसे प्राप्त करें?

उत्तर

4

पीडीएफ प्रदर्शित करने की क्षमता पूरी तरह से निर्भर है कि उपयोगकर्ता के पास पीडीएफ प्रदर्शित करने के लिए एक प्लगइन उपलब्ध है या नहीं और इसकी सेटिंग पीडीएफ फाइलों के इलाज के लिए भी सेट है।

वहां कुछ फ़्लैश विजेट हैं जिनका उपयोग उपयोगकर्ता को पीडीएफ सामग्री प्रस्तुत करने के लिए किया जा सकता है लेकिन सीधे आपके प्रश्न का उत्तर देने के लिए, आप उपयोगकर्ता प्राथमिकताओं को नियंत्रित नहीं कर सकते हैं कि उन्होंने पीडीएफ फ़ाइलों को कैसे संभालने के लिए चुना है।

2
यहाँ

<a href="javascript:void(0);" onclick="javascipt:window.open('YourPDF.pdf');" class="popup">Clic to open.</a> 

आप अपने पीसी में पाठक स्थापित किया है की जरूरत है

2

यकीन है कि Content-Type हैडर 'आवेदन/पीडीएफ' न कि 'आवेदन/ओकटेट धारा'

0
है

मैंने उपरोक्त सभी समाधानों का प्रयास किया और उनमें से कोई भी मेरे लिए काम नहीं करता, मैं एमवीसी 3 के शीर्ष पर जावास्क्रिप्ट चला रहा हूं, और रेज़र, एडोब 11 यानी क्रोम और फ़ायरफ़ॉक्स पर एड-ऑन के रूप में स्थापित है। यह सब कुछ है जो मैंने उपर्युक्त ब्राउज़रों पर काम करने के लिए किया था।

मेड पीडीएफ नियंत्रक, मुख्य दृश्य के लिए रेजर कोड में इस

तरह जावास्क्रिप्ट से कहा जाता है:

var URL_OPEN_REPORT_PDF     = "@Url.Content("~/Report/OpenPDF/")"; 

जावास्क्रिप्ट:

var sURL = URL_OPEN_REPORT_PDF; 
    sURL = AddURLParameter(sURL, "ReportArchive", moControl.treeOrganization.getUserData(sItemUI, "reportarchive")); 
    window.open(sURL); 

नियंत्रक ReportController.cs:

[Authorize] 
    [HttpGet] 
    public ActionResult OpenPDF(string ReportArchive) 
    { 
     PDFResult oPdfResult = new PDFResult(); 

     ReportArchive oReportArchive; 

     var serializer = new JavaScriptSerializer(); 
     oReportArchive = serializer.Deserialize<ReportArchive>(ReportArchive); 
     string FilePath = Server.MapPath(string.Format("~/Content/Reports/{0}", oReportArchive.FileName)); 

     WebClient User = new WebClient(); 

     Byte[] FileBuffer = User.DownloadData(FilePath); 

     if (FileBuffer != null) 
     { 
      oPdfResult.Length = FileBuffer.LongLength; 
      oPdfResult.FileBuffer = FileBuffer; 
      Response.BinaryWrite(FileBuffer); 

     } return View("PDF", oPdfResult); 
    } 

ViewModel PDFResult.cs:

public class PDFResult 
{ 
    /// <summary> 
    /// Content Length 
    /// </summary> 
    public long Length { get; set; } 

    /// <summary> 
    /// Content bytes 
    /// </summary> 
    public Byte[] FileBuffer { get; set; } 
} 

देखें PDF.cshtml:

@model Report.PDFResult 
@{ 
    Response.ContentType = "application/pdf"; 
    Response.AddHeader("content-length", Model.Length.ToString()); 
    Layout = null; 
} 
2

इस कोड विंडो खोलने के लिए एक समारोह से JavaScript

var pdf = MyPdf.pdf; 
window.open(pdf); 

एक PDF दस्तावेज़ खुल जाएगा जो एक पूर्ण विंडो में इस तरह दिखेगा:

function openPDF(pdf){ 
    window.open(pdf); 
    return false; 
} 
संबंधित मुद्दे