Python 从Django网站向LogicalDOC发送PDF文件

Python 从Django网站向LogicalDOC发送PDF文件,python,django,rest,api,Python,Django,Rest,Api,大约两个月以来,我一直在开发我的Django网站,我开始用自己的功能在全球范围内取得良好的效果。 但是,现在我必须开始一个非常困难的部分(对我来说),我需要一些建议和想法才能做到这一点 我的Django网站使用带有Django变量的HTML模板创建一些PDF文件。到目前为止,我正在将PDF文件直接保存在我的桌面上(在一个特定的文件夹中),但它是完全不安全的。 因此,我安装了另一个名为LogicalDoc的web应用程序,以便在该应用程序上直接保存PDF文件。创建PDF文件并发送至LogicalD

大约两个月以来,我一直在开发我的
Django网站
,我开始用自己的功能在全球范围内取得良好的效果。 但是,现在我必须开始一个非常困难的部分(对我来说),我需要一些建议和想法才能做到这一点

我的Django网站使用带有Django变量的HTML模板创建一些PDF文件。到目前为止,我正在将PDF文件直接保存在我的桌面上(在一个特定的文件夹中),但它是完全不安全的。 因此,我安装了另一个名为
LogicalDoc
的web应用程序,以便在该应用程序上直接保存PDF文件。创建PDF文件并发送至LogicalDoc

LogicalDoc拥有两个API:SOAP和REST(),我知道Django可以与REST方法通信

我也在阅读Django文档的这一部分,以了解如何处理:

我制定了一个计划,以了解我所揭露的内容:

然后,我写了一个脚本,制作了一些东西:

  • 创建PDF文件时,我在LogicalDoc中创建了一个文件夹,它的名称如下:lastname\u firstname\u birthday

  • 两种可能性:如果文件夹存在,我不创建新文件夹,否则我创建它

  • 完成后,我将PDF文件直接发送到文件夹中,方法是将PDF名称与文件夹名称进行比较

我对这个过程有一些疑问:

  • 首先,有没有可能制造这种东西

  • 这样做难吗

  • 你能给我什么样的建议

非常感谢你


PS:如果你需要我脚本的某些部分,主要是PDF创建部分,我可以在我的问题之后发布;)

一个想法很简单,但是它总是需要一些实践。 我强烈建议您使用RESTAPI,忘记SOAP,因为它唯一能带给您的是“痛苦”:

如果我们检查文档,它会提供下一个信息

  • 我们必须与之通信的端点。 [协议]://[服务器]:[端口]/文档/创建
  • 要使用的HTTP方法-POST
  • 随请求提供的参数列表:body, 文件、内容
  • 更重要的是,您可以通过单击“试用”按钮并在浏览器的“网络”选项卡中检查请求来测试API(如果您打开开发人员工具)

    我不确定您必须在“document”参数中提供什么样的元数据,但我知道您可以通过测试它并将XML或JSON数据放入“document”参数中,轻松了解应该做什么

    内容是传输到服务器(即您的文件)的字节数组

    总之,请求“document/create”uri将很简单

    body = { 'headers': {},'object': {},}
    document = "<note>data</note>"
    content=open('report.xls', 'rb') #r - reading, b - binary
    r = requests.post('http://logicaldoc/document/create', body=body, document=document, content=content)
    
    body={'headers':{},'object':{},}
    document=“数据”
    content=open('report.xls','rb')#r-读取,b-二进制
    r=请求。post('http://logicaldoc/document/create,body=body,document=document,content=content)
    

    请记住,文件传输请求需要时间,有时可能会出现超时异常。您的代码将停止并等待响应,因此最好使用asyncio或芹菜进行一些实践。请记住这些可能的问题。

    是否使用默认格式保存PDF?这不是个好主意。将pdf内容存储为
    bz2样式(html安全)
    text。最好的问题是如何搜索或调用旧输出?我使用了(上传的csv>matplot>PDF>(html_OUT | SQL_BZ2(BASE64))。您可以在短时间内创建此pdf?不要另存为pdf文件,保存您的
    变量
    !计算
    pdf
    变量
    的成本。它适用于我的方法。别忘了我正在使用Django编码^^^我的问题不在那里,但我如何在其他应用程序中直接发送生成的文件。您正在尝试什么端点要准确到达?它是您正在寻找的吗?基本上,它会变得更容易,因为您将获得第一个工作文件传输的示例。