HyphaApp / hypha

Submission management software for open calls
http://docs.hypha.app/
BSD 3-Clause "New" or "Revised" License
69 stars 38 forks source link

Invoice has name of approver and date stamp #3539

Closed fourthletter closed 5 months ago

fourthletter commented 1 year ago

Description

Manipulate PDF invoice submitted by vendor with the approver information and date stamp

sandeepsajan0 commented 1 year ago

On the 7th Sept standup, we discussed that there would be performance issues with invoice manipulation and invoices batch download(zip). We will need celery or background service to use these features fluently or else bigger files(files in mbs) may create issues for other requests. However, we decided that we could give invoice manipulation for individual files a try and test how it would work. But for batch download(invoices zip), we can put it on hold and may try it later async or with a background service.
cc_ @fourthletter @abhiXII

theskumar commented 1 year ago

@fourthletter please share the avg. sizes of the pdfs and also number of pages they have in general. Also, what is the information that needs to be added to the last page of the invoice.

theskumar commented 1 year ago

@frjo let me know if it fine for us to us pypdf for this? It has been actively maintained (6k stars, updated last week)

See:

  1. Adding annotations: https://pypdf.readthedocs.io/en/stable/user/adding-pdf-annotations.html
  2. PDF streaming, reading/writing to cloud: https://pypdf.readthedocs.io/en/stable/user/streaming-data.html
  3. Merging PDFs https://pypdf.readthedocs.io/en/stable/user/merging-pdfs.html

It doesn't support digital signature, and will be out of scope:

frjo commented 1 year ago

@theskumar pypdf looks good and we already have it installed in Hypha. It is a dependency of xhtml2pdf.

theskumar commented 11 months ago

@Techslammer please add the pdf format and text.