Как использовать pdf.js [закрыто]

92

Я рассматриваю возможность использования pdf.js (инструмент с открытым исходным кодом, который позволяет встраивать PDF-файл на веб-страницу). Нет никакой документации о том, как его использовать.

Я предполагаю, что я делаю html-страницу со сценарием, указанным в заголовке, а затем в теле я помещаю какой-то вызов функции с массивом имени и местоположения файла. Может кто-нибудь помочь мне здесь?

Крис
источник
1
### Статья на Github Я только что начал писать статью « Настройка PDF.js» на веб-сайте вики проекта на GitHub. ### Просьба о завершении Если у вас есть опыт, дайте ответ на эту статью.
Эдуард Лопес,
Возможно, вам захочется чего- нибудь более высокого уровня, например viewerjs.org .
максимум
Я хочу извлечь встроенный XML-файл из PDF, есть ли способ сделать это?
Ananta Prasad

Ответы:

33

Попробуйте 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});

ПРИМЕЧАНИЕ: упомянутый здесь проект «pdf.js» https://github.com/Marak/pdf.js устарел с момента публикации этого ответа. Ответ @ Treffynnon касается все еще активного проекта Mozilla ( https://github.com/mozilla/pdf.js ), который будет искать большинство поисковиков.

Джеймс Хилл
источник
Я видел это, но меня смущает то, что находится над var = filename. Нужен ли мне какой-либо из этих doc.addPage () в doc.text и тройных doc.texts выше этого?
Крис
Другой вопрос, что мне нужно изменить. Я предполагаю, что мне нужно изменить первое «имя файла» в последней строке и свойства документа. Это оно?
Крис
25
Разве это не другой pdf.js?
Swiss
@Swiss, это февраль, с голосами "за" и отмечен как ответ. Я бы сказал, это то, что искала OP.
Джеймс Хилл,
14
Да, поэтому это было так запутанно. Операция, по-видимому, относится к проекту mozilla для отображения PDF-файлов в формате html, но проект, упомянутый в блоге, на который вы ссылаетесь, является другим проектом для создания файлов PDF с использованием javascript.
Swiss
50

Документация доступна в их readme на github . Они цитируют следующий пример кода :

/* -*- 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
источник
19
Это плохо документировано, но вы извлекаете zip-архив pdf.js и оставляете его структуру каталогов нетронутой. Затем, чтобы просмотреть PDF-файл, вы просто переходите к файлу viewer.html (через браузер), добавляя файл в конец. Ex yoursite.com/directory_that_viewer_._html_is_in/viewer.html?file=somepdfthatyouhave.pdf Местоположение pdf просто передается как переменная GET в файл viewer.html.
Craig Lafferty
4
Из вики github : «Тем не менее, мы спрашиваем, планируете ли вы встраивать программу просмотра на свой сайт, чтобы это была не просто немодифицированная версия. Пожалуйста, измените скин или создайте его». - учитывая их ужасно несуществующую документацию по API, этот проект гарантирует, что вы
прыгнете