Verwendung von pdf.js [geschlossen]

91

Ich denke darüber nach, pdf.js zu verwenden (ein Open-Source-Tool, mit dem ein PDF in eine Webseite eingebettet werden kann). Es gibt keine Dokumentation zur Verwendung.

Ich gehe davon aus, dass ich eine HTML-Seite mit dem Skript in der Kopfzeile erstelle und dann im Hauptteil eine Art Funktionsaufruf mit einem Array aus Dateiname und Speicherort platziere. Kann mir hier jemand helfen?

Chris
quelle
1
### Github-Artikel Ich habe gerade einen Artikel zum Einrichten von PDF.js auf einer Website im Projekt-Wiki auf GitHub gestartet. ### Antrag auf Fertigstellung Wenn Sie Erfahrung haben, füllen Sie bitte den Artikel aus.
Édouard Lopez
Etwas Höheres wie viewerjs.org ist wahrscheinlich das, was Sie wollen.
Max
Ich möchte eine eingebettete XML-Datei aus PDF extrahieren. Gibt es eine Möglichkeit, dies zu tun?
Ananta Prasad

Antworten:

33

Versuchen Sie es mit 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});

HINWEIS: Das hier erwähnte Projekt "pdf.js" lautet https://github.com/Marak/pdf.js und ist seit Veröffentlichung dieser Antwort veraltet. @ Treffynnons Antwort bezieht sich auf das noch aktive Mozilla-Projekt ( https://github.com/mozilla/pdf.js ), nach dem die meisten Suchenden suchen werden.

James Hill
quelle
Ich habe das gesehen, bin aber verwirrt über das Zeug über dem Dateinamen var =. Benötige ich eine dieser doc.addPage () für doc.text und die dreifachen doc.texte darüber?
Chris
Eine andere Frage wäre, was ich ändern muss. Ich gehe davon aus, dass der erste "Dateiname" der letzten Zeile, den ich ändern muss, und die doc-Eigenschaften. Ist es das?
Chris
25
Ist das nicht ein anderes pdf.js?
Schweizer
@Schweiz, dies ist ab Februar mit positiven Stimmen und als Antwort markiert. Ich würde sagen, das ist es, wonach das OP gesucht hat.
James Hill
14
Ja, deshalb war es so verwirrend. Die Operation bezieht sich anscheinend auf das Mozilla-Projekt zum Anzeigen von PDFs als HTML, aber das Projekt, auf das in dem Blog verwiesen wird, auf das Sie verlinken, ist ein anderes Projekt zum Erstellen von PDF-Dateien mit Javascript.
Schweizer
50

Es gibt Dokumentation auf ihrer Github-Readme . Sie zitieren den folgenden Beispielcode :

/* -*- 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
quelle
19
Es ist nicht gut dokumentiert, aber Sie extrahieren die ZIP-Datei pdf.js und lassen die Verzeichnisstruktur intakt. Um ein PDF anzuzeigen, navigieren Sie einfach zur Datei viewer.html (über den Browser), wobei die Datei an das Ende angehängt ist. Ex yoursite.com/directory_that_viewer_._html_is_in/viewer.html?file=somepdfthatyouhave.pdf Der PDF-Speicherort wird nur als GET-Variable an die Datei viewer.html übergeben.
Craig Lafferty
4
Aus dem Github-Wiki : "Wir fragen jedoch, ob Sie den Viewer in Ihre eigene Site einbetten möchten , dass es sich nicht nur um eine unveränderte Version handelt. Bitte überarbeiten Sie ihn oder bauen Sie darauf auf." - Aufgrund ihrer schrecklich nicht existierenden API-Dokumentation stellt dieses Projekt sicher, dass Sie durch genügend Reifen springen, um in Form zu bleiben: \
Philzen