@toolspack/ttd-pdfjs 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toolspack/ttd-pdfjs",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "private": false,
5
5
  "main": "lib/ttd-pdfjs.umd.min.js",
6
6
  "scripts": {
@@ -5,7 +5,7 @@
5
5
  :page="page" :zoomEnable="zoomEnable" :rotateEnable="rotateEnable"
6
6
  @page="onChangePage" @zoom="onScale" @rotate="onRotate"></switch-page>
7
7
  </div>
8
- <div class="pdf-view-area-wapper" :style="{width: pdfWidth}" >
8
+ <div class="pdf-view-area-wapper">
9
9
  <div>
10
10
  <div
11
11
  class="center pdf-view-area"
@@ -17,7 +17,7 @@
17
17
  >
18
18
  <div v-if="fileLoading" class="pdf-view-loading">文件加载中...</div>
19
19
  <div v-else-if="pageRendering" class="pdf-view-rendering">内容渲染中...</div>
20
- <canvas :key="pdfurl +'canvas'" class="canvasstyle" ref="canvas"></canvas>
20
+ <canvas :key="pdfurl +'canvas'" class="canvasstyle" :style="{with: showWidth?showWidth+'px':'auto'}" ref="canvas"></canvas>
21
21
  <div class="label-area">
22
22
  <slot></slot>
23
23
  </div>
@@ -59,6 +59,7 @@ const PDFJS = require('pdfjs-dist')
59
59
 
60
60
  const defautScale = 1.0
61
61
  // PDFJS.GlobalWorkerOptions.workerSrc = require('pdfjs-dist/legacy/build/pdf.worker.min.js')
62
+ // eslint-disable-next-line
62
63
  PDFJS.GlobalWorkerOptions.workerSrc = require('pdfjs-dist/build/pdf.worker.min.js')
63
64
  // https://unpkg.com/pdfjs-dist@2.16.105/cmaps/
64
65
  // 使用代理的cmaps,会导致加载很慢,改用本地
@@ -120,6 +121,7 @@ export default {
120
121
  pageNumPending: null,
121
122
  compuscale: defautScale, // 放大倍数
122
123
  compuRotate: undefined, // 实际旋转度数, 默认值必须是 undefined
124
+ pdf_rotation: 0, // pdf 的旋转度数
123
125
  page_count: 0, // 总页数
124
126
  maxscale, // 最大放大倍数
125
127
  minscale, // 最小放大倍数
@@ -134,7 +136,7 @@ export default {
134
136
  },
135
137
  methods: {
136
138
  async renderPage(num) {
137
- console.log('renderPage ', this.pageRendering)
139
+ // console.log('renderPage ', num, this.pageRendering)
138
140
  if (this.pageRendering) {
139
141
  this.pageNumPending = num;
140
142
  } else {
@@ -151,22 +153,22 @@ export default {
151
153
  let viewport = ''
152
154
  const viewboxWidth = this.showWidth
153
155
  if (this.initPage) {
154
- viewport = page.getViewport({ scale: 1.0 })
156
+ const viewportInit = await page.getViewport({ scale: 1.0 })
155
157
  if (viewboxWidth) {
156
158
  const desiredWidth = parseInt(viewboxWidth, 10) - 2
157
159
  // 首先获得pdf 原本宽度,然后根据showWidth 计算缩放倍数
158
- scaleNum = desiredWidth / viewport.width
160
+ scaleNum = desiredWidth / viewportInit.width
159
161
  this.compuscale = scaleNum
160
162
  this.maxscale = scaleNum
161
163
  }
162
164
  // console.log('xxxxxx', this.compuRotate, viewport.rotation)
163
- this.compuRotate = viewport.rotation
165
+ this.pdf_rotation = viewportInit.rotation
164
166
  this.initPage = false
165
167
  }
166
168
  // 重新渲染 缩放过的PDF
167
- viewport = page.getViewport({ scale: scaleNum, rotation: this.compuRotate })
169
+ viewport = await page.getViewport({ scale: scaleNum, rotation: this.compuRotate })
168
170
  this.viewport = viewport
169
-
171
+ // console.log('rotation -', num, viewport.rotation)
170
172
  // 将 canvas 尺寸 传给父组件
171
173
  this.$emit('size', viewport, num)
172
174
 
@@ -177,7 +179,7 @@ export default {
177
179
  if (!canvas) {
178
180
  return false
179
181
  }
180
- this.style.width = `${viewport.width + 2}px`;
182
+ this.style.width = `${viewport.width + 18}px`;
181
183
  this.pdfWidth = `${viewport.width}px`;
182
184
  canvas.height = viewport.height
183
185
  canvas.width = viewport.width
@@ -218,9 +220,12 @@ export default {
218
220
  return
219
221
  }
220
222
  this.pageNum++
223
+ // console.log('next', this.pageNum)
221
224
  this.queueRenderPage(this.pageNum)
222
225
  },
223
226
  onChangePage(page) {
227
+ this.pageNum = page
228
+ // console.log('onChangePage', page)
224
229
  this.emitPage(page)
225
230
  // switch page 改变页码
226
231
  this.queueRenderPage(page)
@@ -317,7 +322,12 @@ export default {
317
322
  this.renderPage(this.pageNum)
318
323
  },
319
324
  onRotate(rotate) {
320
- this.compuRotate += rotate
325
+ // console.log('rotate -', rotate, this.compuRotate, this.pageNum)
326
+ if (this.compuRotate === undefined) {
327
+ this.compuRotate = this.pdf_rotation + rotate
328
+ } else {
329
+ this.compuRotate += rotate
330
+ }
321
331
  this.renderPage(this.pageNum)
322
332
  },
323
333
  },
@@ -378,6 +388,7 @@ export default {
378
388
  width: 100%;
379
389
  display: flex;
380
390
  flex-direction: column;
391
+ box-sizing: border-box;
381
392
  min-width: 688px;
382
393
  }
383
394
  .pdf-view-control {
@@ -389,10 +400,12 @@ export default {
389
400
  overflow: auto;
390
401
  width: 100%;
391
402
  flex-shrink: 0%;
403
+ box-sizing: border-box;
392
404
  }
393
405
  .pdf-view-area {
394
406
  position: relative;
395
407
  min-height: 100px;
408
+ box-sizing: border-box;
396
409
  .canvasstyle {
397
410
  display: block;
398
411
  margin: 0 auto;