diff --git a/libs/XdVuePdf/package.json b/libs/XdVuePdf/package.json
index 2a826b07..acd730ac 100644
--- a/libs/XdVuePdf/package.json
+++ b/libs/XdVuePdf/package.json
@@ -1,13 +1,9 @@
{
"name": "xd-vue-pdf",
- "version": "1.0.1",
+ "version": "3.0.0",
"description": "vue.js pdf viewer",
"main": "src/vuePdfNoSss.vue",
"scripts": {},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/FranckFreiburger/vue-pdf.git"
- },
"keywords": [
"vue.js",
"pdf",
@@ -15,16 +11,12 @@
],
"author": "Franck FREIBURGER",
"license": "MIT",
- "bugs": {
- "url": "https://github.com/FranckFreiburger/vue-pdf/issues"
- },
- "homepage": "https://github.com/FranckFreiburger/vue-pdf#readme",
"dependencies": {
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"loader-utils": "^1.4.0",
"raw-loader": "^4.0.1",
"worker-loader": "^2.0.0",
- "pdfjs-dist": "^2.5.207",
+ "pdfjs-dist-sign": "^2.5.208",
"vue-resize-sensor": "^2.0.0"
},
"peerDependencies": {}
diff --git a/libs/XdVuePdf/src/CMapReaderFactory.js b/libs/XdVuePdf/src/CMapReaderFactory.js
index 87d7ec3e..b597bbd9 100644
--- a/libs/XdVuePdf/src/CMapReaderFactory.js
+++ b/libs/XdVuePdf/src/CMapReaderFactory.js
@@ -1,4 +1,4 @@
-import { CMapCompressionType } from 'pdfjs-dist/es5/build/pdf.js'
+import { CMapCompressionType } from 'pdfjs-dist-sign/es5/build/pdf.js'
// see https://github.com/mozilla/pdf.js/blob/628e70fbb5dea3b9066aa5c34cca70aaafef8db2/src/display/dom_utils.js#L64
@@ -6,16 +6,13 @@ export default function() {
this.fetch = function(query) {
- return import('./buffer-loader!pdfjs-dist/cmaps/'+query.name+'.bcmap' /* webpackChunkName: "noprefetch-[request]" */)
+ return import('./buffer-loader!pdfjs-dist-sign/cmaps/'+query.name+'.bcmap' /* webpackChunkName: "noprefetch-[request]" */)
.then(function(bcmap) {
- delete require.cache[require.resolve('./buffer-loader!pdfjs-dist-sign/cmaps/'+query.name+'.bcmap')];
-
return {
cMapData: bcmap.default,
compressionType: CMapCompressionType.BINARY,
};
-
});
}
};
diff --git a/libs/XdVuePdf/src/pdfjsWrapper.js b/libs/XdVuePdf/src/pdfjsWrapper.js
index 69285431..3bfbbc62 100644
--- a/libs/XdVuePdf/src/pdfjsWrapper.js
+++ b/libs/XdVuePdf/src/pdfjsWrapper.js
@@ -1,4 +1,4 @@
-import { PDFLinkService } from 'pdfjs-dist/es5/web/pdf_viewer';
+import { PDFLinkService } from 'pdfjs-dist-sign/es5/web/pdf_viewer';
var pendingOperation = Promise.resolve();
@@ -26,9 +26,6 @@ export default function(PDFJS) {
// source.pdfBug = true;
// source.stopAtErrors = true;
- if ( options && options.withCredentials )
- source.withCredentials = options.withCredentials;
-
var loadingTask = PDFJS.getDocument(source);
loadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public
@@ -84,29 +81,31 @@ export default function(PDFJS) {
// 1in == 72pt
// 1in == 96px
- var PRINT_RESOLUTION = dpi === undefined ? 300 : dpi;
+ var PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;
var PRINT_UNITS = PRINT_RESOLUTION / 72.0;
var CSS_UNITS = 96.0 / 72.0;
- var printContainerElement = document.createElement('div');
- printContainerElement.setAttribute('id', 'print-container')
+ var iframeElt = document.createElement('iframe');
+ function removeIframe() {
- function removePrintContainer() {
- printContainerElement.parentNode.removeChild(printContainerElement);
-
+ iframeElt.parentNode.removeChild(iframeElt);
}
new Promise(function(resolve, reject) {
- printContainerElement.frameBorder = '0';
- printContainerElement.scrolling = 'no';
- printContainerElement.width = '0px;'
- printContainerElement.height = '0px;'
- printContainerElement.style.cssText = 'position: absolute; top: 0; left: 0';
+ iframeElt.frameBorder = '0';
+ iframeElt.scrolling = 'no';
+ iframeElt.width = '0px;'
+ iframeElt.height = '0px;'
+ iframeElt.style.cssText = 'position: absolute; top: 0; left: 0';
- window.document.body.appendChild(printContainerElement);
- resolve(window)
+ iframeElt.onload = function() {
+
+ resolve(this.contentWindow);
+ }
+
+ window.document.body.appendChild(iframeElt);
})
.then(function(win) {
@@ -116,21 +115,21 @@ export default function(PDFJS) {
.then(function(page) {
var viewport = page.getViewport({ scale: 1 });
- printContainerElement.appendChild(win.document.createElement('style')).textContent =
+ win.document.head.appendChild(win.document.createElement('style')).textContent =
'@supports ((size:A4) and (size:1pt 1pt)) {' +
'@page { margin: 1pt; size: ' + ((viewport.width * PRINT_UNITS) / CSS_UNITS) + 'pt ' + ((viewport.height * PRINT_UNITS) / CSS_UNITS) + 'pt; }' +
'}' +
- '#print-canvas { display: none }' +
+
'@media print {' +
'body { margin: 0 }' +
- '#print-canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid; display: block }' +
- 'body > *:not(#print-container) { display: none; }' +
+ 'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' +
'}'+
'@media screen {' +
'body { margin: 0 }' +
+ '}'+
- '}'
+ ''
return win;
})
})
@@ -149,8 +148,7 @@ export default function(PDFJS) {
var viewport = page.getViewport({ scale: 1 });
- var printCanvasElt = printContainerElement.appendChild(win.document.createElement('canvas'));
- printCanvasElt.setAttribute('id', 'print-canvas')
+ var printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));
printCanvasElt.width = (viewport.width * PRINT_UNITS);
printCanvasElt.height = (viewport.height * PRINT_UNITS);
@@ -175,11 +173,12 @@ export default function(PDFJS) {
win.document.execCommand('print', false, null);
} else {
win.print();
- }
- removePrintContainer();
+ }
+ removeIframe();
})
.catch(function(err) {
- removePrintContainer();
+
+ removeIframe();
emitEvent('error', err);
})
})
diff --git a/libs/XdVuePdf/src/vuePdfNoSss.vue b/libs/XdVuePdf/src/vuePdfNoSss.vue
index 2ef83703..0d3869a8 100644
--- a/libs/XdVuePdf/src/vuePdfNoSss.vue
+++ b/libs/XdVuePdf/src/vuePdfNoSss.vue
@@ -6,11 +6,11 @@
if ( process.env.VUE_ENV !== 'server' ) {
var pdfjsWrapper = require('./pdfjsWrapper.js').default;
- var PDFJS = require('pdfjs-dist/es5/build/pdf.js');
+ var PDFJS = require('pdfjs-dist-sign/es5/build/pdf.js');
if ( typeof window !== 'undefined' && 'Worker' in window && navigator.appVersion.indexOf('MSIE 10') === -1 ) {
- var PdfjsWorker = require('worker-loader!pdfjs-dist/es5/build/pdf.worker.js');
+ var PdfjsWorker = require('worker-loader!pdfjs-dist-sign/es5/build/pdf.worker.js');
PDFJS.GlobalWorkerOptions.workerPort = new PdfjsWorker();
}
diff --git a/libs/XdVuePdf/src/vuePdfNoSssNoWorker.vue b/libs/XdVuePdf/src/vuePdfNoSssNoWorker.vue
index 591b82b5..72d3bd82 100644
--- a/libs/XdVuePdf/src/vuePdfNoSssNoWorker.vue
+++ b/libs/XdVuePdf/src/vuePdfNoSssNoWorker.vue
@@ -6,7 +6,7 @@
if ( process.env.VUE_ENV !== 'server' ) {
var pdfjsWrapper = require('./pdfjsWrapper.js').default;
- var PDFJS = require('pdfjs-dist/es5/build/pdf.js');
+ var PDFJS = require('pdfjs-dist-sign/es5/build/pdf.js');
var component = componentFactory(pdfjsWrapper(PDFJS));
} else {
diff --git a/libs/XdVuePdf/src/vuePdfSss.vue b/libs/XdVuePdf/src/vuePdfSss.vue
index c507b898..68a812c4 100644
--- a/libs/XdVuePdf/src/vuePdfSss.vue
+++ b/libs/XdVuePdf/src/vuePdfSss.vue
@@ -4,13 +4,13 @@
import componentFactory from './componentFactory'
import pdfjsWrapper from './pdfjsWrapper'
- var PDFJS = require('pdfjs-dist/es5/build/pdf.js');
+ var PDFJS = require('pdfjs-dist-sign/es5/build/pdf.js');
if ( process.env.VUE_ENV !== 'server' ) {
if ( typeof window !== 'undefined' && 'Worker' in window ) {
- var PdfjsWorker = require('worker-loader!pdfjs-dist/es5/build/pdf.worker.js');
+ var PdfjsWorker = require('worker-loader!pdfjs-dist-sign/es5/build/pdf.worker.js');
PDFJS.GlobalWorkerOptions.workerPort = new PdfjsWorker();
}
}
diff --git a/src/components/PdfViewer/innerPdf.vue b/src/components/PdfViewer/innerPdf.vue
index ced9e386..49172f1f 100644
--- a/src/components/PdfViewer/innerPdf.vue
+++ b/src/components/PdfViewer/innerPdf.vue
@@ -3,7 +3,7 @@