This application allows users to upload multiple PDF files, sign them with a digital certificate, and store them in a specified destination folder. It supports signing with PFX certificates or Smart Cards, and provides a progress bar during the signing process. Signed PDFs are listed for easy access.
- Upload multiple PDF files
- Select a destination folder for signed PDFs
- Display a progress bar during the signing process
- List signed PDFs
-
Clone the Repository:
git clone https://github.com/jsuyog2/pdf-signer.git cd pdf-signer
-
Install Dependencies:
Make sure you have Node.js installed. Then run:
npm install
-
Install Additional Packages:
Install additional required packages:
npm install rimraf @chilkat/ck-node22-win64 express express-fileupload
-
Certificates:
Place your PFX certificate file in the
key
directory. Update thepfxPath
andpfxPassword
inindex.js
:const pfxPath = path.join(__dirname, 'key', 'name.pfx'); const pfxPassword = '12345'; // Update with your PFX password
For signing with Smart Cards, ensure the Smart Card reader is connected and configure the
SmartCardPin
inindex.js
. -
Temporary Directory:
The application uses a
tmp
directory for storing temporary files. Ensure this directory exists or is created automatically.
-
Start the Server:
Run the following command to start the application:
npm start
To build the application and run in production mode:
npm run build npm run prod
-
Access the Application:
Open your web browser and navigate to
http://localhost:3000
to use the application. -
Upload and Sign PDFs:
- Use the form to upload PDF files.
- Monitor the progress bar as the files are signed.
- Signed PDFs will be listed once the signing process is complete.
.babelrc
: Configures Babel to use the@babel/preset-env
preset.eslint.config.mjs
: Configures ESLint with recommended settings for JavaScript.tailwind.config.js
: Configures Tailwind CSS for styling.webpack.config.js
: Configures Webpack for bundling the application.
If you'd like to contribute to this project, please follow these steps:
-
Fork the Repository:
Click the "Fork" button on the top-right corner of the repository page.
-
Create a Branch:
git checkout -b feature/your-feature
-
Make Changes and Commit:
git add . git commit -m "Add your message here"
-
Push to Your Fork:
git push origin feature/your-feature
-
Submit a Pull Request:
Go to the repository page and click on "New Pull Request."
This project is licensed under the MIT License - see the LICENSE file for details.
- Tailwind CSS for styling
- Chilkat for PDF signing functionality
- Express for server handling
- Socket.IO for real-time progress updates
For any questions or feedback, you can reach me at jsuyog2@gmail.com.