Search

PythonReactSEOPDF
OpenClaw

change-pdf-permissions

Change a PDF’s permission flags (edit, print, copy, forms, annotations, etc.) by uploading it to the Solutions API, polling until completion, then returning a download URL for the updated PDF.

crossservicesolutions0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install crossservicesolutions/change-pdf-permissions

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

change-pdf-permissions

Purpose

This skill changes the permission flags of a PDF (e.g., whether it can be printed, edited, or copied) by:

  1. accepting a PDF file from the user,
  2. accepting desired permission settings (true/false),
  3. uploading them to the Solutions API,
  4. polling the job status until it is finished,
  5. returning the download URL for the updated PDF.

Credentials

The API requires an API key used as a Bearer token:

  • Authorization: Bearer <API_KEY>

How the user gets an API key:

Rule: never echo or log the API key.

API endpoints

Base URL:

  • https://api.xss-cross-service-solutions.com/solutions/solutions

Create permission-change job:

  • POST /api/75
  • multipart/form-data parameters:
    • file — required — PDF file
    • canModify — required — "true" or "false"
    • canModifyAnnotations — required — "true" or "false"
    • canPrint — required — "true" or "false"
    • canPrintHighQuality — required — "true" or "false"
    • canAssembleDocument — required — "true" or "false"
    • canFillInForm — required — "true" or "false"
    • canExtractContent — required — "true" or "false"
    • canExtractForAccessibility — required — "true" or "false"

Get result by ID:

  • GET /api/<ID>

When done, the response contains:

  • output.files[] with { name, path } where path is a downloadable URL.

Inputs

Required
  • PDF file (binary)
  • Permission flags (boolean-like), all required by API:
    • canModify
    • canModifyAnnotations
    • canPrint
    • canPrintHighQuality
    • canAssembleDocument
    • canFillInForm
    • canExtractContent
    • canExtractForAccessibility
  • API key (string)
Optional
  • None

Defaults (recommended)

If the user does not specify permissions, use a conservative default that disallows modification and extraction, but allows printing:

  • canModify: f...

Source information

Source
github
Repository
openclaw/skills
Path
skills/crossservicesolutions/change-pdf-permissions
Version
—
Commit
ba39b859369ca7f953ab6814d0c5e83945c73a98
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

README


README.md

# change-pdf-permissions (OpenClaw Skill)

Change PDF permission flags (edit, print, copy/extract, forms, annotations, etc.) using the Solutions API and return a download URL for the updated PDF.

## What this does
PDF “permissions” are flags that PDF viewers should respect, such as:
- allow printing (and high-quality printing),
- allow editing content,
- allow adding/modifying annotations,
- allow extracting/copying content,
- allow form filling,
- allow assembling pages (insert/delete/rotate).

Note: different viewers may enforce these flags differently.

## What you need
- A PDF file
- Permission flag values (true/false)
- A Solutions API key (Bearer token)
  - Register / get key: https://login.cross-service-solutions.com/register

## Defaults (if you don’t specify anything)
- Disallow editing and extracting
- Allow printing (including high quality)
- Allow form filling
- Allow accessibility extraction

You can override all flags via CLI.

## How it works
1) Upload PDF + flags to:
   `POST https://api.xss-cross-service-solutions.com/solutions/solutions/api/75`
2) Poll:
   `GET  https://api.xss-cross-service-solutions.com/solutions/solutions/api/<job_id>`
3) Return `output.files[0].path` as download URL

## Script (CLI)
```bash
python scripts/change_pdf_permissions.py \
  --pdf "/path/to/file.pdf" \
  --can-modify false \
  --can-modify-annotations false \
  --can-print true \
  --can-print-high-quality true \
  --can-assemble-document false \
  --can-fill-in-form true \
  --can-extract-content false \
  --can-extract-for-accessibility true \
  --api-key "$SOLUTIONS_API_KEY"

Extracted content

SKILL.md
# change-pdf-permissions

## Purpose
This skill changes the permission flags of a PDF (e.g., whether it can be printed, edited, or copied) by:
1) accepting a PDF file from the user,
2) accepting desired permission settings (true/false),
3) uploading them to the Solutions API,
4) polling the job status until it is finished,
5) returning the download URL for the updated 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 permission-change job:
- `POST /api/75`
- `multipart/form-data` parameters:
  - `file` — required — PDF file
  - `canModify` — required — "true" or "false"
  - `canModifyAnnotations` — required — "true" or "false"
  - `canPrint` — required — "true" or "false"
  - `canPrintHighQuality` — required — "true" or "false"
  - `canAssembleDocument` — required — "true" or "false"
  - `canFillInForm` — required — "true" or "false"
  - `canExtractContent` — required — "true" or "false"
  - `canExtractForAccessibility` — required — "true" or "false"

Get result by ID:
- `GET /api/<ID>`

When done, the response contains:
- `output.files[]` with `{ name, path }` where `path` is a downloadable URL.

## Inputs
### Required
- PDF file (binary)
- Permission flags (boolean-like), all required by API:
  - canModify
  - canModifyAnnotations
  - canPrint
  - canPrintHighQuality
  - canAssembleDocument
  - canFillInForm
  - canExtractContent
  - canExtractForAccessibility
- API key (string)

### Optional
- None

## Defaults (recommended)
If the user does not specify permissions, use a conservative default that disallows modification and extraction, but allows printing:

- canModify: f...
README
---

## `README.md`

```md
# change-pdf-permissions (OpenClaw Skill)

Change PDF permission flags (edit, print, copy/extract, forms, annotations, etc.) using the Solutions API and return a download URL for the updated PDF.

## What this does
PDF “permissions” are flags that PDF viewers should respect, such as:
- allow printing (and high-quality printing),
- allow editing content,
- allow adding/modifying annotations,
- allow extracting/copying content,
- allow form filling,
- allow assembling pages (insert/delete/rotate).

Note: different viewers may enforce these flags differently.

## What you need
- A PDF file
- Permission flag values (true/false)
- A Solutions API key (Bearer token)
  - Register / get key: https://login.cross-service-solutions.com/register

## Defaults (if you don’t specify anything)
- Disallow editing and extracting
- Allow printing (including high quality)
- Allow form filling
- Allow accessibility extraction

You can override all flags via CLI.

## How it works
1) Upload PDF + flags to:
   `POST https://api.xss-cross-service-solutions.com/solutions/solutions/api/75`
2) Poll:
   `GET  https://api.xss-cross-service-solutions.com/solutions/solutions/api/<job_id>`
3) Return `output.files[0].path` as download URL

## Script (CLI)
```bash
python scripts/change_pdf_permissions.py \
  --pdf "/path/to/file.pdf" \
  --can-modify false \
  --can-modify-annotations false \
  --can-print true \
  --can-print-high-quality true \
  --can-assemble-document false \
  --can-fill-in-form true \
  --can-extract-content false \
  --can-extract-for-accessibility true \
  --api-key "$SOLUTIONS_API_KEY"

Related skills

OpenClaw

dojo.md

edholofy

University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...

OpenClaw

wps-macos-helper

lethehades

macOS WPS Office workflow helper skill for safer document preparation, conversion, export, and compatibility guidance