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?


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.


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);
  });
});

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.