Cách sử dụng pdf.js [đã đóng]


92

Tôi đang cân nhắc sử dụng pdf.js (một công cụ mã nguồn mở cho phép nhúng pdf vào trang web). Không có bất kỳ tài liệu nào về cách sử dụng nó.

Tôi giả sử những gì tôi làm là tạo một trang html với tập lệnh được tham chiếu trong tiêu đề, sau đó trong phần nội dung, tôi đặt một số loại lệnh gọi hàm với một mảng tên và vị trí tệp. Có ai có thể giúp tôi ngoài này không?


1
### Github Bài viết Tôi vừa bắt đầu một bài viết Thiết lập PDF.js trong một trang web trên wiki của dự án trên GitHub. ### Yêu cầu hoàn thành Nếu bạn có chút kinh nghiệm, vui lòng hoàn thành bài viết.
Édouard Lopez

Một thứ gì đó cao cấp hơn như viewjs.org có lẽ là thứ bạn muốn.
tối đa

Tôi muốn trích xuất tệp xml được nhúng từ PDF, có cách nào để làm như vậy không?
Ananta Prasad

Câu trả lời:


33

Dùng thử Google'ing pdf.js documentation

/* create the PDF document */

var doc = new pdf();
doc.text(20, 20, 'hello, I am PDF.');
doc.text(20, 30, 'i was created in the browser using javascript.');
doc.text(20, 40, 'i can also be created from node.js');

/* Optional - set properties on the document */
doc.setProperties({
  title: 'A sample document created by pdf.js',
  subject: 'PDFs are kinda cool, i guess',        
  author: 'Marak Squires',
  keywords: 'pdf.js, javascript, Marak, Marak Squires',
  creator: 'pdf.js'
});

doc.addPage();
doc.setFontSize(22);
doc.text(20, 20, 'This is a title');
doc.setFontSize(16); 
doc.text(20, 30, 'This is some normal sized text underneath.');

var fileName = "testFile"+new Date().getSeconds()+".pdf";
var pdfAsDataURI = doc.output('datauri', {"fileName":fileName});

LƯU Ý: dự án "pdf.js" được đề cập ở đây là https://github.com/Marak/pdf.js và không được dùng nữa kể từ khi câu trả lời này được đăng. Câu trả lời của @ Treffynnon là về dự án Mozilla vẫn đang hoạt động ( https://github.com/mozilla/pdf.js ) mà hầu hết những người tìm kiếm sẽ tìm kiếm.


Tôi đã thấy điều đó nhưng tôi không hiểu về những thứ bên trên var = filename. Tôi có cần bất kỳ tệp doc.addPage () nào sang doc.text và hte ba doc.texts ở trên không?
Chris

Một câu hỏi khác sẽ là tôi phải thay đổi điều gì. Tôi giả sử rằng "tên tệp" đầu tiên của dòng cuối cùng mà tôi phải thay đổi và các thuộc tính doc. Là nó?
Chris

25
Đây không phải là một pdf.js khác sao?
Thụy Sĩ

@Swiss, đây là từ tháng 2, với số phiếu ủng hộ và được đánh dấu là câu trả lời. Tôi muốn nói đây là những gì OP đang tìm kiếm.
James Hill

14
Vâng, đó là lý do tại sao nó rất khó hiểu. Op dường như đề cập đến dự án mozilla để hiển thị pdf dưới dạng html, nhưng dự án được đề cập trong blog mà bạn liên kết đến là một dự án khác để tạo tệp pdf bằng javascript.
Thụy Sĩ

50

Có sẵn tài liệu trên github readme của họ . Họ trích dẫn mã ví dụ sau :

/* -*- 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 promises
//
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);
  });
});

19
Nó không được ghi chép đầy đủ nhưng bạn giải nén zip pdf.js và giữ nguyên cấu trúc thư mục của nó. Sau đó, để xem một pdf, bạn chỉ cần điều hướng đến tệp viewer.html (thông qua trình duyệt) với tệp được nối vào cuối. Ex yourite.com/directory_that_viewer_._html_is_in/viewer.html?file=somepdfthatyouhave.pdf Vị trí pdf chỉ được chuyển dưới dạng biến GET tới tệp viewer.html.
Craig Lafferty

4
Từ wiki github : "Tuy nhiên, chúng tôi hỏi bạn có định nhúng trình xem vào trang web của mình hay không, rằng nó không chỉ là một phiên bản chưa được sửa đổi. Vui lòng làm lại hoặc xây dựng dựa trên nó." - cung cấp tài liệu api
ẩn náu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.