[GH-ISSUE #1435] Upload Image for Signature #403

Closed
opened 2026-02-26 18:46:54 +03:00 by kerem · 10 comments
Owner

Originally created by @ArbiterGR on GitHub (Nov 1, 2024).
Original GitHub issue: https://github.com/documenso/documenso/issues/1435

Feature Description

Hello, it would be nice to be able to upload a signature image (in png for example), to use as a signature. This would compliment the already existing two types (draw signature & typed signatures).

Use Case

Frequent users, would have a more close-to-the-original signature, not needing to rely on drawing their signature.

Proposed Solution

No response

Alternatives (optional)

No response

Additional Context

No response

Please check the boxes that apply to this feature request.

  • I have searched the existing feature requests to make sure this is not a duplicate.
  • I have provided a detailed description of the requested feature.
  • I have explained the use case or scenario for this feature.
  • I have included any relevant technical details or design suggestions.
  • I understand that this is a suggestion and that there is no guarantee of implementation.
  • I want to work on creating a PR for this issue if approved
Originally created by @ArbiterGR on GitHub (Nov 1, 2024). Original GitHub issue: https://github.com/documenso/documenso/issues/1435 ### Feature Description Hello, it would be nice to be able to upload a signature image (in png for example), to use as a signature. This would compliment the already existing two types (draw signature & typed signatures). ### Use Case Frequent users, would have a more close-to-the-original signature, not needing to rely on drawing their signature. ### Proposed Solution _No response_ ### Alternatives (optional) _No response_ ### Additional Context _No response_ ### Please check the boxes that apply to this feature request. - [X] I have searched the existing feature requests to make sure this is not a duplicate. - [X] I have provided a detailed description of the requested feature. - [X] I have explained the use case or scenario for this feature. - [X] I have included any relevant technical details or design suggestions. - [X] I understand that this is a suggestion and that there is no guarantee of implementation. - [ ] I want to work on creating a PR for this issue if approved
kerem 2026-02-26 18:46:54 +03:00
  • closed this issue
  • added the
    Stale
    label
Author
Owner

@github-actions[bot] commented on GitHub (Nov 1, 2024):

Thank you for opening your first issue and for being a part of the open signing revolution!

One of our team members will review it and get back to you as soon as it possible 💚

Meanwhile, please feel free to hop into our community in Discord

<!-- gh-comment-id:2451672476 --> @github-actions[bot] commented on GitHub (Nov 1, 2024): Thank you for opening your first issue and for being a part of the open signing revolution! <br /> One of our team members will review it and get back to you as soon as it possible 💚 <br /> Meanwhile, please feel free to hop into our community in [Discord](https://documen.so/discord)
Author
Owner

@PhatWheZ commented on GitHub (Nov 3, 2024):

Would love to see this embedded into the users profile settings.
I was able to use N8N to upload a .png file, convert to base64 and update the postgres database based on the users email address. Not super fancy, but it works (internally)

<!-- gh-comment-id:2453550709 --> @PhatWheZ commented on GitHub (Nov 3, 2024): Would love to see this embedded into the users profile settings. I was able to use N8N to upload a .png file, convert to base64 and update the postgres database based on the users email address. Not super fancy, but it works (internally)
Author
Owner

@floriant29 commented on GitHub (Nov 6, 2024):

I am very interested in this feature but rather to insert the company stamps often requested in the validation of quotes.

<!-- gh-comment-id:2459092836 --> @floriant29 commented on GitHub (Nov 6, 2024): I am very interested in this feature but rather to insert the company stamps often requested in the validation of quotes.
Author
Owner

@ArbiterGR commented on GitHub (Nov 7, 2024):

Would love to see this embedded into the users profile settings. I was able to use N8N to upload a .png file, convert to base64 and update the postgres database based on the users email address. Not super fancy, but it works (internally)

Actually this is a good workaround until the devs implement this into the project. I took it a bit further and created a Windows Powershell script for it which seems to work and applies to Self Hosted instances only. It's rather basic and doesn't check whether the user exists or not, but it gets the job done for us for the time being.

What this does is, it takes an image file, converts it to base64 and updates the record in the database for the given user's email. Just make sure you install PostgreSQL 15 command line tools and modify the connection parameters inside the script. Also if your installation is docker based, you need to expose the postgresql port:

$server = "server_address"
$port = "server port"
$db = "db name"
$user = "username"
$password = "db user password"
$env:PGPASSWORD = $password  # Set the password for psql command
$psqlPath = "C:\Program Files\PostgreSQL\15\bin\psql.exe"  # Adjust this path to your actual psql.exe location 


Add-Type -AssemblyName System.Windows.Forms
$fileDialog = New-Object System.Windows.Forms.OpenFileDialog
$fileDialog.Filter = "Image Files|*.png;*.jpeg;*.jpg;*.bmp;*.gif;*.tiff"
$fileDialog.Title = "Select an Image File"
$fileDialog.ShowDialog() | Out-Null
$imageFilePath = $fileDialog.FileName


if (-not $imageFilePath) {
    Write-Output "No file selected. Exiting script."
    exit
}


$userEmail = Read-Host "Please enter a Documenso user's email to alter"


$imageBytes = [System.IO.File]::ReadAllBytes($imageFilePath)
$base64Image = [Convert]::ToBase64String($imageBytes)
$base64Image = "data:image/png;base64,"+$base64Image


$sql = "UPDATE `"User`" SET signature = '$base64Image' WHERE email = '$userEmail';"
$tempSqlFile = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), "temp_sql_query.sql")
Set-Content -Path $tempSqlFile -Value $sql



try{
    & "$psqlPath" -h $server -U $user -d $db -f "$tempSqlFile" | Out-null
    Write-Output "Signature has been updated for user: $userEmail."
    }catch{
    Write-Host "There was an error Updating the Record on the Database."
    }

Remove-Item -Path $tempSqlFile
<!-- gh-comment-id:2461590715 --> @ArbiterGR commented on GitHub (Nov 7, 2024): > Would love to see this embedded into the users profile settings. I was able to use N8N to upload a .png file, convert to base64 and update the postgres database based on the users email address. Not super fancy, but it works (internally) Actually this is a good workaround until the devs implement this into the project. I took it a bit further and created a Windows Powershell script for it which seems to work and applies to Self Hosted instances only. It's rather basic and doesn't check whether the user exists or not, but it gets the job done for us for the time being. What this does is, it takes an image file, converts it to base64 and updates the record in the database for the given user's email. Just make sure you install PostgreSQL 15 command line tools and modify the connection parameters inside the script. Also if your installation is docker based, you need to expose the postgresql port: ``` $server = "server_address" $port = "server port" $db = "db name" $user = "username" $password = "db user password" $env:PGPASSWORD = $password # Set the password for psql command $psqlPath = "C:\Program Files\PostgreSQL\15\bin\psql.exe" # Adjust this path to your actual psql.exe location Add-Type -AssemblyName System.Windows.Forms $fileDialog = New-Object System.Windows.Forms.OpenFileDialog $fileDialog.Filter = "Image Files|*.png;*.jpeg;*.jpg;*.bmp;*.gif;*.tiff" $fileDialog.Title = "Select an Image File" $fileDialog.ShowDialog() | Out-Null $imageFilePath = $fileDialog.FileName if (-not $imageFilePath) { Write-Output "No file selected. Exiting script." exit } $userEmail = Read-Host "Please enter a Documenso user's email to alter" $imageBytes = [System.IO.File]::ReadAllBytes($imageFilePath) $base64Image = [Convert]::ToBase64String($imageBytes) $base64Image = "data:image/png;base64,"+$base64Image $sql = "UPDATE `"User`" SET signature = '$base64Image' WHERE email = '$userEmail';" $tempSqlFile = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), "temp_sql_query.sql") Set-Content -Path $tempSqlFile -Value $sql try{ & "$psqlPath" -h $server -U $user -d $db -f "$tempSqlFile" | Out-null Write-Output "Signature has been updated for user: $userEmail." }catch{ Write-Host "There was an error Updating the Record on the Database." } Remove-Item -Path $tempSqlFile ```
Author
Owner

@catalinpit commented on GitHub (Nov 8, 2024):

Hey @ArbiterGR, thanks for the suggestion. This is the next step after the typed signature.

<!-- gh-comment-id:2464520921 --> @catalinpit commented on GitHub (Nov 8, 2024): Hey @ArbiterGR, thanks for the suggestion. This is the next step after the typed signature.
Author
Owner

@ArbiterGR commented on GitHub (Nov 8, 2024):

Thank you!

<!-- gh-comment-id:2464674503 --> @ArbiterGR commented on GitHub (Nov 8, 2024): Thank you!
Author
Owner

@dguyen commented on GitHub (Feb 17, 2025):

This was implemented 👍

<!-- gh-comment-id:2662996208 --> @dguyen commented on GitHub (Feb 17, 2025): This was implemented 👍
Author
Owner

@tutorempire commented on GitHub (Mar 28, 2025):

@dguyen When was this implemented? Is it part of an upcoming release? Super useful feature!

<!-- gh-comment-id:2760407801 --> @tutorempire commented on GitHub (Mar 28, 2025): @dguyen When was this implemented? Is it part of an upcoming release? Super useful feature!
Author
Owner

@catalinpit commented on GitHub (Apr 2, 2025):

@dguyen When was this implemented? Is it part of an upcoming release? Super useful feature!

It was implemented and released a while ago. Please check the app.

<!-- gh-comment-id:2771614556 --> @catalinpit commented on GitHub (Apr 2, 2025): > [@dguyen](https://github.com/dguyen) When was this implemented? Is it part of an upcoming release? Super useful feature! It was implemented and released a while ago. Please check the app.
Author
Owner

@tutorempire commented on GitHub (Apr 2, 2025):

Thank you. Yes, it looks like the docker documenso/documenso:latest was quite behind the latest release (it was 1.8.0) so I my version didn't have the feature implemented yet. Hopefully whoever is in charge will fix the docker tags.

<!-- gh-comment-id:2773975739 --> @tutorempire commented on GitHub (Apr 2, 2025): Thank you. Yes, it looks like the docker documenso/documenso:latest was quite behind the latest release (it was 1.8.0) so I my version didn't have the feature implemented yet. Hopefully whoever is in charge will fix the docker tags.
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#403
No description provided.