jjalvarezl / pdfjs-viewer-bundle
此捆绑包提供 Mozilla 的 pdf.js 与 Symfony 4 框架的集成,并在服务器端具有可定制的参数。
v3.0.0
2018-03-01 18:43 UTC
Requires
- php: >=5.3.2
This package is not auto-updated.
Last update: 2024-09-24 09:48:55 UTC
README
此捆绑包提供了将 "PDF.JS 库" 从 Mozilla 集成到 Symfony 4 的简单方法,并具有不同的自定义参数。
以下功能受支持
- 访问网页目录外的 pdf。
- 可定制的 pdf 查看器选项。
- 至 2017 年 3 月 23 日集成了 PDF.js。
可在以下位置找到
为什么要使用这个?
- 此捆绑包在服务器端渲染 pdf。因此,您可以找到一种替代默认浏览器查看器的方法,以改变 pdf 在每种浏览器类型上的加载方式。
- 此捆绑包可以访问服务器上的任何部分文件。
- 此捆绑包可以在渲染后删除 pdf。
安装
1) 下载 JjalvarezlPDFjsViewerBundle
下载它时需要提供捆绑包的名称
$ php composer.phar require jjalvarezl/pdfjs-viewer-bundle
2) 启用捆绑包
在内核中启用捆绑包
<?php // config/bundles.php return [ // ... jjalvarezl\PDFjsViewerBundle\jjalvarezlPDFjsViewerBundle:class => ['all' => true], ];
3) 安装资源
别忘了安装资源,这是此捆绑包工作的唯一方法
$ php app/console assets:install --symlink --relative
使用前概念
首先,有必要建立一些分类和基本概念,以便了解其工作原理
- Webroot:是 Symfony 的网络文件夹
- "PDF.js" 只能在所有类型的项目中的 webroot 文件夹中工作。
- 此捆绑包使 "PDF.js" 能够在任何需要获取 pdf 文件的地方显示 pdf 文件。
- 它会在 webroot 内一个自定义的临时目录中创建 pdf 文件的绝对路径的临时副本(由开发者定义)。因此,请确保拥有正确的权限(文件+所有者)。
- 一旦 "PDF.js" 加载了 pdf 文件,此捆绑包可以立即将其从 webroot 中删除,以避免磁盘空间溢出等问题。
- 此捆绑包还可以显示或隐藏视觉 "PDF.js" 组件。
所有这些功能都可以通过以下参数执行,这些参数仅具有 true/false 值
用法
您可以选择不同的方式来使用此捆绑包
快速测试
您可以在多个浏览器中验证功能,您可以在功能控制器中启用默认的 "PDF.js 查看器",并在返回响应时加载相同的 pdf
return $this->get('jjalvarezl_pdfjs_viewer.viewer_controller')->renderTestViewer();
默认查看器
这与“快速测试”显示相同的 pdf 查看器,但需要配置一些额外的参数
$parameters = array( //Tell to the bundle that the pdf is outside the webroot 'isPdfOutsideWebroot' => true, //Tell to the bundle where is the pdf. (absolute path for outside temporal folder pdf, just the <name>.pdf for inside temporal folder) 'pdf' => '/home/jjalvarezl/Descargas/123.pdf', //Tell to the bundle that its necessary to delete pdf after render. 'deletePdfInTmpAfterRenderized' => false, ); return $this->get('jjalvarezl_pdfjs_viewer.viewer_controller')->renderDefaultViewer($parameters);
自定义查看器
您还可以通过编辑参数来自定义要显示的查看器元素
$parameters = array( //Same parameters as defalt viewer. //pdf.js viewer options 'showToolBar' => true, 'showLeftToolbarButton' => true, 'showSearchInDocumentButton' => true, 'showPreviousPageButton' => true, 'showPreviousPageButton' => true, 'showFindPageInputText' => true, 'showNumberOfPagesLabel' => true, 'showZoomInButton'=> false, 'showZoomOutButton'=> false, 'showScaleSelectComboBox'=> false, 'showPresentationModeButton'=> true, 'showOpenFileButton'=> true, 'showPrintButton'=> true, 'showDownloadButton'=> true, 'showViewBookmarkButton'=> true, 'showToolsButton'=> true, ); return $this->get('jjalvarezl_pdfjs_viewer.viewer_controller')->renderCustomViewer($parameters);
在这里,您可以随意调整这些参数以自定义 pdf 查看器。
支持
如果您发现任何错误或不正常的情况,请给我发送电子邮件。
您始终可以是贡献者,或者您可以在这里添加问题