2012-12-12 35 views
8

Tôi nhìn vào dự án PDF.js trên github và nhìn vào bản demo của họ cơ bản tôi đã đi lên với điều này (toàn bộ view):Sử dụng pdf.js trong ASP.NET MVC3

@{ 
    ViewBag.Title = "GetPDFLetter"; 
    Layout = null; 
} 

<!doctype html> 
<html> 
<head> 
     <title>PDF.JS TEST</title> 
     <!-- PDF.js-specific --> 
     <script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript"></script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/pdf.js")"> </script> 

    <script type="text/javascript" src="@Url.Content("~/PDFScripts/core.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/util.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/api.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/canvas.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/obj.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/function.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/charsets.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/cidmaps.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/colorspace.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/crypto.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/evaluator.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/fonts.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/glyphlist.js")"> </script>> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/image.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/metrics.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/parser.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/pattern.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/stream.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/worker.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/jpg.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/jpx.js")"> </script> 
    <script type="text/javascript" src="@Url.Content("~/PDFScripts/jbig2.js")"> </script> 

     <script type="text/javascript"> 
      // Specify the main script used to create a new PDF.JS web worker. 
      // In production, change this to point to the combined `pdf.js` file. 
      var url = '@Url.Content("~/PDFScripts/worker_loader.js")'; 
      PDFJS.workerSrc = url; 
    </script> 
</head> 

<div> 
    <canvas id="the-canvas" style="border:1px solid black"></canvas> 
    </div> 

    <script type="text/javascript"> 

     $(document).ready(function() { 

      /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 
      /* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ 

      // 
      // See README for overview 
      // 

      'use strict'; 

      // 
      // Fetch the PDF document from the URL using promices 
      // 
      PDFJS.getDocument('helloworld.pdf').then(function (pdf) { 
       // Using promise to fetch the page 
       pdf.getPage(1).then(function (page) { 
        var scale = 1.5; 
        var viewport = page.getViewport(scale); 

        // 
        // Prepare canvas using PDF page dimensions 
        // 
        var canvas = document.getElementById('the-canvas'); 
        var context = canvas.getContext('2d'); 
        canvas.height = viewport.height; 
        canvas.width = viewport.width; 

        // 
        // Render PDF page into canvas context 
        // 
        var renderContext = { 
         canvasContext: context, 
         viewport: viewport 
        }; 
        page.render(renderContext); 
       }); 
      }); 



     }); 
    </script> 
</html> 

Tệp helloworld.pdf nằm trong cùng thư mục với chế độ xem, nhưng khi tôi chạy dự án không có gì được hiển thị, chỉ cần một hình chữ nhật nhỏ. Tôi đã bỏ lỡ một cái gì đó? Bất kỳ cân nhắc đặc biệt nào? Cảm ơn vì bất kì sự giúp đỡ.

+0

Chúng tôi có cần thêm tất cả các tệp javascript được đề cập ở trên không? Có tổng cộng 22 tệp js .. –

+0

@Ranadheer Đã 18 tháng kể từ khi tôi làm việc với Pdf.js, tôi không chắc chắn những gì đã thay đổi vv Bạn có thể xem xét các vấn đề Github và thử hỏi ở đó. Về kịch bản, rõ ràng bạn cần chúng, nhưng bạn có thể thử gói chúng. –

Trả lời

11

Tìm ra nó cuối cùng. PDF.js tuyệt vời là gì.

Tôi đã lấy tự do là creating a sample MVC3 project using PDF.js. Nó theo sau 90% bản demo PDF.js trên github, ngoại trừ một chút nhỏ, tự giải thích (được giải thích trong các chú thích trong mã) thay đổi trong việc gán đường dẫn tệp PDF cho người xem.

+0

Tôi cũng không thể truy cập dự án mẫu. Có lẽ bạn có thể giải thích những gì thay đổi bạn cần thiết để thực hiện cho các đường dẫn tập tin? – xm1994

+0

@ xm1994 có giao diện ngay bây giờ –

+0

@MohammadSepahvand: Khi tôi thay thế url tệp cục bộ bằng url tệp bên ngoài, tôi nhận được lỗi. bất kỳ giúp đỡ? Trong trang chỉ mục, tôi đã thay đổi ** @ Html.ActionLink ("Xem Pdf # 1", "Trình xem", "Trang chủ", mới {filePath = "Pdf1.pdf"}, null) ** Để * *@Html.ActionLink ("Xem Pdf # 1", "Trình xem", "Trang chủ", mới {filePath = "myExternalFileUrl.pdf"}, null) ** và trong bộ điều khiển tôi đã thay đổi ** filePath = "/ MyPDFs/"+ filePath; ** to ** filePath = filePath; ** Có chỗ nào khác để thay đổi mã không? –