Cara Menggunakan pdf.js [closed]


92

Saya sedang mempertimbangkan untuk menggunakan pdf.js (alat sumber terbuka yang memungkinkan penyematan pdf di halaman web). Tidak ada dokumentasi tentang cara menggunakannya.

Saya berasumsi apa yang saya lakukan adalah membuat halaman html dengan skrip yang direferensikan di header, dan kemudian di bagian body, saya meletakkan semacam pemanggilan fungsi dengan array nama file dan lokasi. Adakah yang bisa membantu saya di sini?


1
### Artikel Github Saya baru saja memulai artikel Setup PDF.js di situs web wiki proyek di GitHub. ### Permintaan Penyelesaian Jika Anda memiliki pengalaman, lengkapi artikel ini.
Édouard Lopez

Sesuatu yang lebih tinggi seperti viewerjs.org mungkin adalah yang Anda inginkan.
maks

Saya ingin mengekstrak file xml yang disematkan dari PDF, apakah ada cara untuk melakukannya?
Ananta Prasad

Jawaban:


33

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

CATATAN: proyek "pdf.js" yang disebutkan di sini adalah https://github.com/Marak/pdf.js , dan sudah tidak digunakan lagi sejak jawaban ini diposting. Jawaban @ Treffynnon adalah tentang proyek Mozilla yang masih aktif ( https://github.com/mozilla/pdf.js ) yang akan dicari oleh kebanyakan pencari.


Saya melihat itu tetapi saya bingung tentang hal-hal di atas var = nama file. Apakah saya memerlukan doc.addPage () itu ke doc.text, dan hte triple doc.texts di atasnya?
Chris

Pertanyaan lainnya adalah apa yang harus saya ubah. Saya menganggap "nama file" pertama baris terakhir saya harus mengubah, dan properti doc. Itu saja?
Chris

25
Bukankah ini pdf.js yang berbeda?
Swiss

@Swiss, ini dari Februari, dengan suara positif, dan ditandai sebagai jawabannya. Menurut saya, inilah yang dicari OP.
James Hill

14
Ya itu sebabnya itu sangat membingungkan. Operasi tampaknya mengacu pada proyek mozilla untuk menampilkan pdf sebagai html, tetapi proyek yang dirujuk di blog yang Anda tautkan berbeda untuk membuat file pdf menggunakan javascript.
Swiss

50

Ada dokumentasi yang tersedia di readme github mereka . Mereka mengutip kode contoh berikut :

/* -*- 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
Ini tidak terdokumentasi dengan baik tetapi Anda mengekstrak zip pdf.js dan membiarkan struktur direktorinya tetap utuh. Kemudian untuk melihat pdf Anda cukup menavigasi ke file viewer.html (melalui browser) dengan file ditambahkan di akhir. Ex yoursite.com/directory_that_viewer_._html_is_in/viewer.html?file=somepdfthatyouhave.pdf Lokasi pdf hanya diteruskan sebagai variabel GET ke file viewer.html.
Craig Lafferty

4
Dari wiki github : "Namun, kami menanyakan apakah Anda berencana untuk menyematkan penampil di situs Anda sendiri, bahwa ini bukan hanya versi yang tidak dimodifikasi. Harap skin ulang atau buat di atasnya." - mengingat dokumentasi api yang tidak ada dan mengerikan, proyek ini memastikan Anda melewati rintangan yang cukup untuk tetap bugar: \
Philzen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.