有没有办法制作一个无法转换成单词的pdf?

时间:2016-03-07 06:42:26

标签: php pdf yii ms-word

我们有一个生成PDF文件的系统。但任何人都可以使用在线pdf将这些文件转换为字转换器。 Yii或PHP中是否有任何选项可以阻止它?

3 个答案:

答案 0 :(得分:1)

要阻止PDF转换为Word,您可以:

  1. 设置查看PDF 所需的密码 - 共享密码后可以删除
  2. 转换PDF to images,然后将这些图片转换为PDF(使用ImageMagickGhostscript - 使用OCR恢复。
  3. 在生成的PDF中编写损坏所谓CMAP/ToUnicode字典)的代码,以便复制的文本与显示给查看器的文本不匹配 - 但仍可使用OCR恢复
  4. handwritten font用于drawn into image的文字。然后这些图像保存为JPEG,这些JPEG文件将转换为最终PDF - 无法使用OCR恢复,但可以使用HWR恢复
  5. 使用vector drawing命令逐行绘制自己的字母,因此看起来像字母,但不会被PDF阅读器识别为文本 - 仍可使用人眼恢复。
  6. 最后,您可以跳过生成PDF,而是打印一份物理文档,为其制作硬封面并通过实体帖子发送给您的客户,并假设他们很懒,不会删除封面并使用OCR软件逐页扫描您的文档。

答案 1 :(得分:0)

要禁用以您可以使用的任何其他格式转换PDF,例如 PDFTK 命令行,您可以找到它here
当用户尝试打印PDF文档时,它会提示输入密码(考虑转换格式也是一种打印机制)

命令行

pdftk source.pdf output destination.pdf user_pw password

因此,要在PHP中使用它,请不要忘记将PDFTK添加到PATH环境变量,设置访问权限并重新启动Web服务器

修改 你可以使用shell_exec()

<?php
// ... 
shell_exec('pdftk source.pdf output destination.pdf user_pw password');
?>

答案 2 :(得分:0)

PDF中的任何文字都可以转换为任何其他文字格式。

您可以尝试将要放入PDF的信息渲染为图像,然后将图像插入PDF中。

这样,当读取PDF时,获取图像数据。虽然如果转换器是持久的,这仍然可以转换成任何格式,但它会使它们做更多工作。