OpenClaw · Skill
Remove Password From Pdf
This skill removes password protection from a PDF by:
Install
Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.
Primary command
clawhub install crossservicesolutions/remove-password-from-pdfClawHub installer
npx clawhub@latest install crossservicesolutions/remove-password-from-pdfOpenClaw CLI
openclaw skills install crossservicesolutions/remove-password-from-pdfDirect OpenClaw install
openclaw install crossservicesolutions/remove-password-from-pdfWhat this skill does
This skill removes password protection from a PDF by:
Why it matters
Handles the full upload-poll-download cycle automatically, so the user gets a ready-to-use URL without managing API calls manually.
Typical use cases
- Unlocking a client-sent password-protected PDF for editing
- Removing encryption from a PDF before merging it with other documents
- Batch-processing archived PDFs with known passwords
- Preparing locked PDFs for automated text extraction pipelines
- Stripping password protection before uploading a PDF to a document management system
Source instructions
remove-password-from-pdf
Purpose
This skill removes password protection from a PDF by:
- accepting a password-protected PDF from the user,
- accepting the current password from the user,
- uploading both to the Solutions API,
- polling the job status until it is finished,
- returning the download URL for the unlocked PDF.
Credentials
The API requires an API key used as a Bearer token:
Authorization: Bearer <API_KEY>
How the user gets an API key:
- https://login.cross-service-solutions.com/register
- Or the user can provide an API key directly.
Rule: never echo or log the API key.
API endpoints
Base URL:
https://api.xss-cross-service-solutions.com/solutions/solutions
Create remove-password job:
POST /api/33multipart/form-dataparameters:file(PDF-Datei) — required — PDF filepassword(Password) — required — string (current password to unlock)
Get result by ID:
GET /api/<ID>
When done, the response contains:
output.files[]with{ name, path }wherepathis a downloadable URL.
Inputs
Required
- PDF file (binary)
- Current password (
password, string) - API key (string)
Optional
- None
Output
Return a structured result:
job_id(number)status(string)download_url(string, when done)file_name(string, when available)
Example output:
{
"job_id": 654,
"status": "done",
"download_url": "https://.../unlocked.pdf",
"file_name": "unlocked.pdf"
}