0

我使用 Google 查看器在网页上显示 pdf。

http://docs.google.com/viewer?url=http%3A%2F%2Fresearch.google.com%2Farchive%2Fbigtable-osdi06.pdf

我的客户想要隐藏 url 的来源,即如果查看 html 页面的来源,它会显示文件的路径。

请帮助我,有什么方法可以通过 php 或任何其他想法传递 url?

4

4 回答 4

3

除非您创建自己的 PDF 查看器,该查看器支持 PDF 身份或 URI 的某种隐藏传递。Google 的查看器允许您将原始 PDF 保存在“文件”菜单下。我不知道您的客户担心或试图隐瞒什么。

于 2013-04-17T08:14:37.950 回答
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;
*/
?>
于 2013-04-17T08:32:50.727 回答
2

在这种情况下,Google 只是访问您公开可用的 pdf 的另一个网络用户。

防止直接访问您的 PDF 网址的唯一选择是拥有一个临时网址,该网址在特定使用次数或特定时间后过期

例如。

使用 PHP 生成 pdf 的唯一 url

http://example.com/pdfs/importantpdf.pdf?id=2342oiuqer23413;ja;sekfj;kjewr

仅当 id 正确且按计数或时间仍然可用时,才从您的服务器返回 pdf。这样,您无需在服务器上公开实际文件名,但可以根据需要提供您的 pdf。如果谷歌请求它,您也可以尝试只返回 pdf,但这可能不简单且容易出错。

但正如其他人指出的那样,谷歌 pdf 查看器(实际上是任何 pdf 查看器)将允许您保存 pdf。

于 2013-04-17T09:29:29.663 回答
1

您可以做的一件事是让不同的 URL 传递 PDF,但前提是请求来自 docs.google.com。

因此,您将拥有一个站点,例如 www.mypdfserver.com,当有人调用 PDF 时,您检查请求是否来自 docs.google.com。如果是这样,您将重定向到原始 URL。如果不是,你什么都不服务。

于 2013-04-17T08:28:08.147 回答