Jak korzystać z pdf.js [zamknięte]

92

Rozważam użycie pdf.js (narzędzia typu open source, które umożliwia osadzenie pliku PDF na stronie internetowej). Nie ma żadnej dokumentacji, jak go używać.

Zakładam, że tworzę stronę html ze skryptem, do którego odwołuje się nagłówek, a następnie w treści umieszczam wywołanie funkcji z tablicą nazw i lokalizacji pliku. Czy ktoś może mi tu pomóc?

Chris
źródło
1
### Artykuł na Github Właśnie zacząłem pisać artykuł o konfiguracji pliku PDF.js na stronie internetowej wiki projektu w serwisie GitHub. ### Prośba o ukończenie Jeśli masz pewne doświadczenie, uzupełnij artykuł.
Édouard Lopez
Coś bardziej wysokiego poziomu, jak viewerjs.org, jest prawdopodobnie tym, czego potrzebujesz.
max
Chcę wyodrębnić osadzony plik xml z pliku PDF, czy jest jakiś sposób, aby to zrobić?
Ananta Prasad

Odpowiedzi:

33

Wypróbuj Google 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});

UWAGA: wymieniony tutaj projekt „pdf.js” to https://github.com/Marak/pdf.js i został wycofany od czasu opublikowania tej odpowiedzi. Odpowiedź @ Treffynnon dotyczy wciąż aktywnego projektu Mozilla ( https://github.com/mozilla/pdf.js ), którego będzie szukała większość wyszukiwarek.

James Hill
źródło
Widziałem to, ale jestem zdezorientowany co do rzeczy powyżej var = filename. Czy potrzebuję któregokolwiek z tych doc.addPage () do doc.text i hte potrójnych doc.texts powyżej?
Chris,
Innym pytaniem byłoby, co mam zmienić. Zakładam, że muszę zmienić pierwszą „nazwę pliku” ostatniego wiersza i właściwości dokumentu. Czy to to?
Chris,
25
Czy to nie jest inny plik pdf.js?
Szwajcaria
@Swiss, to jest z lutego, z pozytywnymi opiniami i oznaczonymi jako odpowiedź. Powiedziałbym, że właśnie tego szukał OP.
James Hill
14
Tak, dlatego to było takie zagmatwane. Operacja pozornie odnosi się do projektu Mozilla do wyświetlania plików PDF w formacie html, ale projekt, do którego odwołuje się blog, do którego prowadzi łącze, jest inny, jeśli chodzi o tworzenie plików PDF za pomocą javascript.
Szwajcaria
50

Dokumentacja jest dostępna w ich pliku readme na githubie . Cytują następujący przykładowy kod :

/* -*- 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);
  });
});
Treffynnon
źródło
19
Nie jest dobrze udokumentowany, ale rozpakowujesz plik pdf.js zip i pozostawiasz nienaruszoną strukturę katalogów. Następnie, aby wyświetlić plik PDF, po prostu przejdź do pliku viewer.html (za pomocą przeglądarki) z plikiem dołączonym na końcu. Ex yoursite.com/directory_that_viewer_._html_is_in/viewer.html?file=somepdfthatyouhave.pdf Lokalizacja pliku PDF jest przekazywana jako zmienna GET do pliku viewer.html.
Craig Lafferty
4
Z wiki github : „Jednak pytamy, czy planujesz osadzić przeglądarkę we własnej witrynie, aby nie była to tylko niezmodyfikowana wersja. Zmień skórkę lub zbuduj na jej podstawie”. - biorąc pod uwagę ich okropnie nieistniejącą dokumentację API, ten projekt zapewnia, że ​​przeskoczysz przez wystarczająco dużo kółek, aby pozostać w formie: \
Philzen