From a28f9d997f2e0be0cc668348ea04a184cc0ed48c Mon Sep 17 00:00:00 2001 From: Michal Szczepanski Date: Sun, 28 Jul 2019 15:10:06 +0200 Subject: [PATCH] Add more text information, closes #8 --- src/pdf/model/PdfPage.js | 3 ++- src/pdf/model/TextObject.js | 2 -- src/pdf/visitors/VisitorText.js | 15 ++++++++++----- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/pdf/model/PdfPage.js b/src/pdf/model/PdfPage.js index 2c12c17..a5e49f1 100644 --- a/src/pdf/model/PdfPage.js +++ b/src/pdf/model/PdfPage.js @@ -1,5 +1,5 @@ const PdfObject = require('./PdfObject'); - +const util = require('pdfjs-dist/lib/shared/util'); /** * Holds PDF page information * @extends {PdfObject} @@ -25,6 +25,7 @@ class PdfPage extends PdfObject { this.wordSpacing = 0; this.textHScale = 1; this.textRise = 0; + this.textRenderingMode = util.TextRenderingMode.FILL; this.currentObject = null; this.currentFont = null; diff --git a/src/pdf/model/TextObject.js b/src/pdf/model/TextObject.js index 48fc762..8fa055b 100644 --- a/src/pdf/model/TextObject.js +++ b/src/pdf/model/TextObject.js @@ -1,4 +1,3 @@ -const util = require('pdfjs-dist/lib/shared/util'); const Constraints = require('../Constraints'); const PdfObject = require('./PdfObject'); const TextLine = require('./text/TextLine'); @@ -14,7 +13,6 @@ class TextObject extends PdfObject { constructor () { super(); this.textMatrix = Constraints.IDENTITY_MATRIX; - this.textRenderingMode = util.TextRenderingMode.FILL; this.lineMatrix = Constraints.IDENTITY_MATRIX; this.textMatrixScale = 1; this._textLines = []; diff --git a/src/pdf/visitors/VisitorText.js b/src/pdf/visitors/VisitorText.js index 12a03f0..1bb10a1 100644 --- a/src/pdf/visitors/VisitorText.js +++ b/src/pdf/visitors/VisitorText.js @@ -101,7 +101,8 @@ class VisitorText extends VisitorBase { */ setCharSpacing (args) { if (this.config.debug) console.log('setCharSpacing'); - // if (this.config.skip) return; + if (this.config.skip) return; + this.page.charSpacing = args[0]; } /** @@ -109,7 +110,8 @@ class VisitorText extends VisitorBase { */ setWordSpacing (args) { if (this.debug) console.log('setWordSpacing'); - // if (this.config.skip) return; + if (this.config.skip) return; + this.page.wordSpacing = args[0]; } /** @@ -117,7 +119,8 @@ class VisitorText extends VisitorBase { */ setHScale (args) { if (this.config.debug) console.log('setHScale'); - // if (this.config.skip) return; + if (this.config.skip) return; + this.page.textHScale = args[0] / 100; } /** @@ -142,7 +145,8 @@ class VisitorText extends VisitorBase { */ setTextRise (args) { if (this.config.debug) console.log('setTextRise'); - // if (this.config.skip) return; + if (this.config.skip) return; + this.page.textRise = args[0]; } /** @@ -150,7 +154,8 @@ class VisitorText extends VisitorBase { */ setTextRenderingMode (args) { if (this.config.debug) console.log('setTextRenderingMode'); - // if (this.config.skip) return; + if (this.config.skip) return; + this.page.textRenderingMode = args[0]; } /**