【问题标题】:Insert stored PDF files from database (MySQL) into MPDF Output将存储的 PDF 文件从数据库 (MySQL) 插入 MPDF 输出
【发布时间】:2014-04-08 16:04:00
【问题描述】:

有没有办法将存储在数据库中的pdf文件导入到mpdf类实例中?

至于现在我只能从文件中使用导入某些页面,如下所示。

$mpdf->SetImportUse(); 
$pagecount = $mpdf->SetSourceFile('testfile.pdf');
$tplId = $mpdf->ImportPage($pagecount, 50, 50, 100, 100);
$mpdf->UseTemplate($tplId, '', '', 100, 100);
$mpdf->Output();

但是如果我想从保存在数据库中的 pdf 导入呢?

感谢您的帮助。

【问题讨论】:

  • 因为它需要一个文件,你必须从数据库中检索,写入临时文件,然后将该临时文件提供给 mpdf。将文件存储在数据库中的另一个原因不是一个好主意。
  • 哦,天哪,这个包的文档是多么的。这看起来像是 80 年代初期的软件风格!
  • 根据文档,答案是“否”,这是不可能的。您只能选择将文档保存在临时文件中以加载它。丑陋,缓慢且容易出错。我建议您向公司提出该功能请求。
  • 制作临时文件是我制作这个帖子之前的最后一个选择。但如果可能的话,我仍在等待其他选择。但这似乎是不可能的。也许是我的糟糕日子:D

标签: php mysql import mpdf


【解决方案1】:

从数据库中读取大文件是个坏主意,您会发现将它们存储在文件系统的某个位置会更快。但是,存储在数据库中的任何文件都应该以其原始形式存储(可能是 base64 编码)。假设您从数据库中获得的值是来自fread() 的返回值,它应该可以正常工作。

【讨论】:

  • 其实看来你是对的,这是可能的。哇。能否请您添加一些详细信息如何做到这一点?
  • fread() 的输出是一个字符串,因此请查看库的文档以解析字符串而不是文件。如果库当前不支持此方法,那么您可以尝试添加功能或切换到其他库。
  • 好吧,这不是我期望的答案。我认为您可以解释如何使用数据库查询结果句柄作为 fread() 的句柄...建议使用另一个库不是问题的答案,是吗?也没有修改库。对不起。
  • 重点是不管怎样,你从数据库返回的都是字符串。您的库已经将文件作为字符串导入。您需要做的就是跳过尝试读取文件的部分。 很有可能该库已经支持这一点,您只需要找到正确的函数即可。或者,您可以将输出写入文件,然后告诉您的库读取该文件。除了以上所说的,别无选择。
  • 感谢您的回复。问题是我无法将传入的数据保存为数据库服务器主机中的文件,它们只允许我访问 mysql 数据库服务器。在网络服务器本身(当然与数据库服务器分开)中,我的空间非常有限。而且我知道库中的某些部分从读取文件函数的结果中传递字符串变量。只是我现在的工作让我头疼,我不想通过修改其他人的库来增加更多的头疼。在我制作这个帖子之前,我正在考虑按照你的解释制作临时文件。但我仍在等待另一种选择
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 2019-01-19
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多