我使用Google查看器在网页上显示pdf。
http://docs.google.com/viewer?url=http%3A%2F%2Fresearch.google.com%2Farchive%2Fbigtable-osdi06.pdf
我的客户想要隐藏url的来源,即如果查看源是一个html页面,它会显示该文件的路径。
请帮帮我,有没有办法通过php或任何其他想法传递网址?
答案 0 :(得分:3)
除非您创建自己的PDF查看器,以支持某种隐藏的PDF身份或URI传递。谷歌的查看器让您无论如何都可以在文件菜单下保存原始PDF 。我不知道你的客户关心或试图隐藏什么。
答案 1 :(得分:2)
由于谷歌浏览器会将所有页面转换为图像,因此您只需要使用php获取图像,然后使用/显示它们,但是您想要显示它们。无论是滑块还是只包含所有页面的表格。但我怀疑它可能违反了ToS。
以下是一些示例代码:
<?php
//Share the document first so it's saved then its id won't be changed making it alot easier for us to get the images, make sure its public aswell
$url = 'https://docs.google.com/file/d/someweirdid/edit?usp=sharing';//the url for the file
$urlexp = explode('/', $url);
end($urlexp);
$id = prev($urlexp);
//here you cant print the image as is or read it with php and use your own domain to output it
$image = "https://docs.google.com/file/d/".$id."/image?pagenumber=1&w=800";
echo "<img src='".$image."' />";
/* Code to print it on ur own domain as your own
$im = file_get_contents($image);
header("Content-type: image/jpeg");
echo $im;
*/
?>
答案 2 :(得分:2)
在这种情况下,Google只是另一个访问PUBLICLY可用pdf的网络用户。
阻止直接访问您的PDF网址的唯一选择是拥有一个临时网址,该网址会在特定使用次数或时间后到期
例如
使用PHP生成pdf的唯一网址
http://example.com/pdfs/importantpdf.pdf?id=2342oiuqer23413;ja;sekfj;kjewr
如果ID正确且仍可按计数或时间提供,则仅从服务器返回pdf。这样您就不需要在服务器上公开实际的文件名,但如果需要,可以提供pdf。如果谷歌要求它,您也可以尝试仅返回pdf,但这可能是非常重要且容易出错。
但正如其他人所指出的,Google pdf viewer(实际上任何pdf查看器)都可以让你保存pdf。
答案 3 :(得分:1)
您可以做的一件事就是让不同的网址传递PDF,但前提是请求来自docs.google.com。
所以你有一个网站,例如www.mypdfserver.com当有人拨打PDF时,您会检查该请求是否来自docs.google.com。如果是这样,您将重定向到原始URL。如果不是,你什么也不做。