Html PDF呈现为空的白色框

Html PDF呈现为空的白色框,html,ruby-on-rails,pdf,path,render,Html,Ruby On Rails,Pdf,Path,Render,我有一个名为“project”的项目,还有一个名为“file.PDF”的PDF文件,位于project/app/assets/file.PDF。我想在名为“file.html”的页面上呈现PDF,该页面位于Project/app/views/static/file.html中 我编写了以下代码,但显示的只是一个空的白色框 <embed src="../../assets/file.pdf" width="500" height="375" type='application/pdf'>

我有一个名为“project”的项目,还有一个名为“file.PDF”的PDF文件,位于
project/app/assets/file.PDF
。我想在名为“file.html”的页面上呈现PDF,该页面位于
Project/app/views/static/file.html

我编写了以下代码,但显示的只是一个空的白色框

<embed src="../../assets/file.pdf" width="500" height="375" type='application/pdf'>
但这也不能说明问题

更新2:控制台输出:

2016-02-21 04:48:27-0600开始获取127.0.0.1的“/文件” StaticController#文件作为HTML进行处理

布局/应用程序中呈现的静态/file.html.erb(63.8ms) 在757ms内完成200 OK(视图:749.4ms |活动记录:0.0ms)

2016-02-21 04:48:28-0600开始获取127.0.0.1版本的“/资产/应用程序。self-e570ac372b74f676a029186250aeeba9bf7016bcd014314d103b5d18b3eb858e.css?body=1”

2016-02-21 04:48:28-0600开始获取127.0.0.1版本的“/assets/pdf-8f705790d319666d8f804cf8809f4d74f036483049ef8c520646d6c98ebedc5f.png”


2016-02-21 04:48:28-0600开始获取127.0.0.1版的“/assets/Advanced\u Reading\u Sample.pdf”创建名为
pdf的文件夹(例如)在
app/assets
中,将您的
file.pdf
放在那里,然后在
app/views/static/file.html
中更改
src
标记嵌入
/assets/file.pdf
。这应该可以解决问题。

试试这个,看看是否有效

<iframe src="yourfile.pdf" style="width:100%; height:700px;" frameborder="0"></iframe>

试试看,这会有帮助

<a href="../../assets/file.pdf" target="_blank">Click To View</a>

谢谢


在控制器写入中

def file
  pdf_filename = File.join(Rails.root, "/assets/file.pdf")
  send_file(pdf_filename, :filename => pdf_filename, :disposition => 'inline', :type => "application/pdf")
end
重命名file.html=>file.html.erb并将其置于views/controller\u name/file.html.erb下,同时将路由添加到此控制器操作


在上述设置中,当您访问控制器时,浏览器中将显示/file/pdf(内联)

我不知道为什么我的应用程序找不到该文件。我只是使用了iFrame和文件的绝对url:

<iframe src="http://www.project.com/file.pdf" style="width:100%;height:100%;"><p>Your browser does not support iframes.</p></iframe>
您的浏览器不支持iFrame


最后,文件呈现。

您使用的浏览器是什么?我有确切的设置,使用chrome我可以渲染pdf文档。@Norman Bentley我在Ubuntu上使用最新版本的chrome。奇怪的是,我在windows上,没有可用的Ubuntu虚拟机。如果您将它们放在同一个文件夹中并更新src,会怎么样?只需src=“file.pdf”@NormanBentley即可得到相同的结果。您的代码看起来正确,请尝试嵌入另一个pdf或图像。我尝试过,但它只显示相同的白色空框。@JoeMorano-oops,
src
中应该有
/assets/file.pdf
,而不是
/assets/pdf/file.pdf
。是的,我仍然得到相同的结果。@JoeMorano您尝试重新启动rails服务器了吗?如果没有帮助,你能在这里发布你的控制台日志吗?是的,我重新启动了服务器。我应该发布什么控制台日志?我得到一个屏幕,告诉我该路径没有路由匹配。您是否看到此部分
src=“yourfile.pdf”
您是否尝试将该部分链接到pdf所在的位置?e、 g.
src=“../../assets/file.pdf”
。尝试将其链接到您的文件。如果你的文件是pdf,它必须显示。我也尝试过,但它仍然告诉我它找不到路径。@JoeMorano检查你的文件,它必须是pdf,否则你的路径可能不正确,即,
src=“../../assets/file.pdf”
该路径可能没有指向该文件,或者文件可能已损坏,导致出现白色屏幕。如果不行,我们可以试试另一种way@JoeMorano如果您将pdf复制到
file.html
文件所在的文件夹中,请尝试此直接路径
src=“file.pdf”
,然后再试一次。在我这里,它正在工作。
<iframe src="http://www.project.com/file.pdf" style="width:100%;height:100%;"><p>Your browser does not support iframes.</p></iframe>