【问题标题】:Reading a PDF file from psql database从 psql 数据库中读取 PDF 文件
【发布时间】:2017-02-23 09:22:47
【问题描述】:

我正在开发一个与 koa/node 后端相结合的 Backbone 项目,该后端可读取 psql 数据库。我设置了一个应该指向 PDF 文件的获取路径,并且我期望为每个文件获取 base64 加密字符串。我得到了这个对象:

{"0":37,"1":80,"2":68,"3":70,"4":45,"5":49,"6":46,"7":51,"8":10,"9":37,"10":196,"11":229,"12":242,"13":229,"14":235,"15":167,"16":243,"17":160,"18":208,"19":196,"20":198,"21":10,"22":52,"23":32,"24":48,"25":32,"26":111,"27":98,"28":106,"29":10,"30":60,"31":60,"32":32,"33":47,"34":76,"35":101,"36":110,"37":103,"38":116,"39":104,"40":32,"41":53,"42":32,"43":48,"44":32,"45":82,"46":32,"47":47,"48":70,"49":105,"50":108,"51":116,"52":101,"53":114,"54":32,"55":47,"56":70,"57":108,"58":97,"59":116,"60":101,"61":68,"62":101,"63":99,"64":111,"65":100,"66":101,"67":32,"68":62,"69":62,"70":10,"71":115,"72":116,"73":114,"74":101,"75":97,"76":109,"77":10,"78":120,"79":1,"80":149,"81":86,"82":203,"83":114,"84":26,"85":89,"86":12,"87":221,"88":247,"89":87,"90":104,"91":118,"92":120,"93":145,"94":235... }

有没有人见过这种 PDF 文件的表示形式?如何将这些数据作为普通 PDF 文件取回?

感谢您的帮助!

【问题讨论】:

标签: pdf backbone.js base64 psql koa


【解决方案1】:

这看起来像是一种从数据库中取出数据的非常糟糕的方法。您的对象是一对 {position: byte},因为 Python 提示第一项是 PDF 标题的一部分:

>>> [chr(i) for i in [37, 80, 68, 70, 45, 49, 46, 51]]
['%', 'P', 'D', 'F', '-', '1', '.', '3']

由于您没有指定任何库/代码,我无法提供任何直接建议,但您应该检查您的数据库真正包含的内容(这应该是二进制数据的 BLOB,而不是 base64 或疯狂的 JSON)以及如何使用您选择的库从数据库中获取原始二进制数据。

【讨论】:

  • 这是数据库应该包含的内容(与 data 属性中的文件完全相同): {"id": 0, "result": [{"data": {"base64" : "JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmo...3RhcnR4cmVmCjE2MD‌​gwNQolJUVPRgo=\n", "class": "bytes"}, "id": 27}]} 我正在使用处理数据库读取的 tryton-model 库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-04
  • 2013-02-24
  • 2014-11-21
  • 2019-10-05
  • 1970-01-01
相关资源
最近更新 更多