angular - make PDF 如何适应高度 - ng2-pdf-viewer
问题描述
我ng2-pdf-viewer
在我的 Angular 8 应用程序中使用。
无论宽度如何,我都想显示适合容器高度的 PDF。因此,PDF 必须占据所有高度,我们可以通过Page Fit
从 Mozilla 的 PDF 中选择缩放选项来做到这一点(链接在这里):
我的代码ng2-pdf-viewer
是:
<pdf-viewer
[src]='"./assets/images/userFiles/" + file.fileName'
[original-size]="false"
[render-text]='false'
[show-all]="false"
style="display: block; height: 100%;"
(after-load-complete)='afterLoadComplete($event)'
(page-rendered)='pageRendered($event)'
(pageChange)='pageChange($event)'
></pdf-viewer>
几天来我已经尝试了无数的事情来让这个工作。fit-to-page
,给予height
所有容器等等。
告诉我,完成它的最佳方法是什么
解决方案
经过一番努力,我找到了一种让 PDF 拉伸到容器高度的方法。我不知道这是否是好方法,但它在我的场景中效果很好。
css
在您的主要style.scss
或添加以下内容style.css
:
.ng2-pdf-viewer-container {
overflow: hidden;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
ng2-pdf-viewer
像这样将组件放入您的组件中:
// other imports
import { PdfViewerComponent } from 'ng2-pdf-viewer';
export class YourComponent{
@ViewChild(PdfViewerComponent, {static: false})
private pdfComponent: PdfViewerComponent;
// other code
}
- 然后使用
(page-rendered)
事件函数编辑currentScaleValue
.pdfViewer
请检查以下代码: 在 html 文件中:
<div style='position: relative; height: 100%;'>
<pdf-viewer [src]='"./assets/images/userFiles/" + file.fileName'
[show-all]="false"
[autoresize]="true"
[original-size]='true'
[fit-to-page]='true'
[render-text]='false'
(page-rendered)="pageRendered()"
></pdf-viewer>
</div>
在您的组件文件中:
// called after pdf page is rendered
pageRendered() {
this.pdfComponent.pdfViewer.currentScaleValue = 'page-fit';
}
而已。请注意,当更新 pdf 或调整浏览器屏幕大小时,您会注意到闪烁或故障。这是因为,ng2-pdf-viewer
根据它的设置更改高度,然后在呈现 pdf 页面时,我们将其更改为page-fit
. 我在更新时将 pdf 隐藏一段时间,然后在将设置加载到page-fit
.
当然,有一些很好的方法可以做到这一点。但是,这是我找了几个月才找到的唯一一个。
推荐阅读
- python - 如何在每辆车上独立更改 x 和 y 轴的值?
- c# - 如何在标题栏中显示带有下标或上标的文本?
- jquery - 未在通过分页加载的元素上引发事件
- react-native - React Native Android - 为什么无法与父组件边界之外的绝对定位视图进行交互?
- elasticsearch - 如何在elasticsearch simple_query_string中包含除空格之外的所有字符?
- c++ - 为什么不能直接使用类模板来推导方法模板呢?SFINAE
- mysql - 我如何优化此查询以用于计算响应的 sql
- flutter - 测量两个位置之间的距离
- rust - Rust 借用了可能未初始化的变量 - 作为程序员,这对我来说很明显,它总是会被初始化
- excel - 如何在kartik export yii2中更改文件名