[GH-ISSUE #701] [OSSHACK] Support for Multiple Document Formats and Conversion #203

Closed
opened 2026-02-26 18:45:51 +03:00 by kerem · 7 comments
Owner

Originally created by @Mythie on GitHub (Dec 1, 2023).
Original GitHub issue: https://github.com/documenso/documenso/issues/701

Description:

Currently we limit uploads to just PDF files, this has caused some friction and confusion for our users. To resolve this we need to allow for the upload of common formats like DOCX, DOC, etc. with an in-built feature for converting these documents to PDF upon upload.

Rationale:

Supporting more document formats will enhance user convenience and reduce frustration. Users frequently work with a variety of document formats, and a seamless, in-built conversion tool will simplify their document handling process.

Currently, users must convert their documents to PDF before uploading them to the platform. This is an unnecessary step that can be easily avoided by implementing a conversion feature. This will also reduce the number of support requests and issues created related to document conversion.

Proposed Solution:

  1. Implement a conversion feature that will convert common document formats to PDF upon upload.
  2. The conversion feature can be implemented as an API endpoint or a client-side function.
  3. Client-side conversion is preferred as it will reduce the load on the server and reduce the number of requests made to the server.
  4. If client-side conversion is not feasible then we can implement an endpoint that will handle the conversion. Doing so will require us to consider the constraints of serverless functions and the serverless provider.

Caveats:

  1. The conversion feature should be able to handle large files, and should not be limited by the constraints of serverless functions or client devices.
  2. The conversion feature should be able to handle a variety of document formats, and convert them to PDF.
  3. If opting for a serverless function then we should consider the constraints of serverless providers like Vercel and their inability to handle larger requests or longer running functions.
  4. If opting for a client-side function then we should consider the constraints of client devices in terms of processing power and memory.

Additional Context:

  • Performance is a key consideration, and the solution must be able to handle large files in a reasonable amount of time.
  • We are currently hosted on Vercel which has limited ability to handle large requests and long running functions.
Originally created by @Mythie on GitHub (Dec 1, 2023). Original GitHub issue: https://github.com/documenso/documenso/issues/701 ## Description: Currently we limit uploads to just PDF files, this has caused some friction and confusion for our users. To resolve this we need to allow for the upload of common formats like DOCX, DOC, etc. with an in-built feature for converting these documents to PDF upon upload. ## Rationale: Supporting more document formats will enhance user convenience and reduce frustration. Users frequently work with a variety of document formats, and a seamless, in-built conversion tool will simplify their document handling process. Currently, users must convert their documents to PDF before uploading them to the platform. This is an unnecessary step that can be easily avoided by implementing a conversion feature. This will also reduce the number of support requests and issues created related to document conversion. ## Proposed Solution: 1. Implement a conversion feature that will convert common document formats to PDF upon upload. 2. The conversion feature can be implemented as an API endpoint or a client-side function. 3. Client-side conversion is preferred as it will reduce the load on the server and reduce the number of requests made to the server. 4. If client-side conversion is not feasible then we can implement an endpoint that will handle the conversion. Doing so will require us to consider the constraints of serverless functions and the serverless provider. ## Caveats: 1. The conversion feature should be able to handle large files, and should not be limited by the constraints of serverless functions or client devices. 2. The conversion feature should be able to handle a variety of document formats, and convert them to PDF. 3. If opting for a serverless function then we should consider the constraints of serverless providers like Vercel and their inability to handle larger requests or longer running functions. 4. If opting for a client-side function then we should consider the constraints of client devices in terms of processing power and memory. ## Additional Context: - Performance is a key consideration, and the solution must be able to handle large files in a reasonable amount of time. - We are currently hosted on Vercel which has limited ability to handle large requests and long running functions.
kerem 2026-02-26 18:45:51 +03:00
Author
Owner

@Mythie commented on GitHub (Dec 2, 2023):

For OSSHack participants we won’t be assigning or following our usual guidelines, please start work if you want to do the challenge.

The first good solution (read: to acceptable quality and conformance) wins!

<!-- gh-comment-id:1837189661 --> @Mythie commented on GitHub (Dec 2, 2023): For OSSHack participants we won’t be assigning or following our usual guidelines, please start work if you want to do the challenge. The first *good* solution (read: to acceptable quality and conformance) wins!
Author
Owner

@kanlanc commented on GitHub (Dec 2, 2023):

Hi, our team would like to grab this

<!-- gh-comment-id:1837198843 --> @kanlanc commented on GitHub (Dec 2, 2023): Hi, our team would like to grab this
Author
Owner

@kanlanc commented on GitHub (Dec 2, 2023):

Is anyone available for quick onboarding if that is possible?

<!-- gh-comment-id:1837198917 --> @kanlanc commented on GitHub (Dec 2, 2023): Is anyone available for quick onboarding if that is possible?
Author
Owner

@rkoo19 commented on GitHub (Dec 2, 2023):

Has anyone picked this up?

<!-- gh-comment-id:1837250705 --> @rkoo19 commented on GitHub (Dec 2, 2023): Has anyone picked this up?
Author
Owner

@Mythie commented on GitHub (Dec 2, 2023):

People have expressed intent to work on it but so far there isn’t a PR, I’d suggest asking in the discord for further clarification.

unfortunately I’m not available for onboarding at this second as I have some prior commitments

<!-- gh-comment-id:1837276029 --> @Mythie commented on GitHub (Dec 2, 2023): People have expressed intent to work on it but so far there isn’t a PR, I’d suggest asking in the discord for further clarification. unfortunately I’m not available for onboarding at this second as I have some prior commitments
Author
Owner

@github-actions[bot] commented on GitHub (Jan 2, 2024):

This issue has not seen activity for a while. It will be closed in 30 days unless further activity is detected

<!-- gh-comment-id:1873535354 --> @github-actions[bot] commented on GitHub (Jan 2, 2024): This issue has not seen activity for a while. It will be closed in 30 days unless further activity is detected
Author
Owner

@kodermax commented on GitHub (Jan 2, 2024):

I would suggest a quick and reliable solution, this is file conversion using a separate service https://gotenberg.dev/

<!-- gh-comment-id:1874542064 --> @kodermax commented on GitHub (Jan 2, 2024): I would suggest a quick and reliable solution, this is file conversion using a separate service https://gotenberg.dev/
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/documenso#203
No description provided.