使用Coldfusion在页面上显示PDF文件的内容

时间:2019-02-12 18:13:10

标签: pdf coldfusion cfpdf

我有一个专门用于标准操作程序(SOP)的页面。我希望此页面在页面上方显示SOP,上方带有一个下载按钮(对于Admin,则为一个上传按钮)。基本上,我希望用户无需下载即可阅读SOP。我对按钮进行了排序,几乎设置了显示,但是格式已关闭。

管理员可以上传当前SOP的PDF。然后,该文件将被存储并覆盖上一次上传的文件。我尝试使用 cffile ,但是无论我尝试使用哪种字符集,它都不可读。目前,我正在获取文件并将其提取为.txt,然后使用 cffile 将其读取为变量,然后将其输出到屏幕。可以,但是格式是错误的。

我知道我可以使用 cfcontent 并将页面设置为PDF,但是我不想为管理员添加新页面而上瘾,以便他们上传新的SOP文件。 (网站的构建方式必须是一个新页面)

<cfpdf
action="extracttext"
source="D:\file_path\SOP.pdf"
overwrite="true"
honourspaces="true"
type="string"
useStructure="true"
destination="D:\file_path\SOP.txt">

<cffile
action="read"
file="D:\file_path\SOP.txt"
variable="dcnSOP">

...


<cfoutput>#dcnSOP#</cfoutput>

基本上,我得到了一块未格式化的文本(如空格和新段落)。这是我想要的文字,并且在我想要的页面上。但这看起来很糟糕。它似乎只是摆脱了所有换行符,而只是在Blob中显示了文本。有没有一种更好的方法,而不仅仅是使用 cfcontent 将整个页面作为PDF?

1 个答案:

答案 0 :(得分:3)

感谢@ Miguel-F和@Ageax的建议,并向我提出了我在寻找答案时错过的问题。

<embed src="\file_path\SOP.pdf" width="800px" height="2100px"/>

此功能适用于Chrome浏览器以外的所有浏览器(我们的客户端将不会使用移动浏览器)。我知道您可以使用Google的PDF阅读器解决此问题,如果有人对此感兴趣的话,这是@ Script47 here给出的示例:

 <embed src="https://drive.google.com/viewerng/
viewer?embedded=true&url=http://example.com/the.pdf" width="500" height="375">