CamScanner-Pdf2Office

v1.0.0

Use CamScanner to convert PDF documents to editable Word (.docx) or Excel (.xlsx) format, with intelligent content recognition and accurate format preservati...

0· 98·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for camscanner-ai/camscanner-pdf2office-office.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "CamScanner-Pdf2Office" (camscanner-ai/camscanner-pdf2office-office) from ClawHub.
Skill page: https://clawhub.ai/camscanner-ai/camscanner-pdf2office-office
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: curl, jq
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install camscanner-pdf2office-office

ClawHub CLI

Package manager switcher

npx clawhub@latest install camscanner-pdf2office-office
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (PDF → Word/Excel) matches the instructions and required binaries (curl, jq). No unrelated credentials or tools are requested.
Instruction Scope
Instructions explicitly upload a local PDF to ai-tools.camscanner.com, request conversion, and download the resulting file — this is exactly what the skill says it does. Note: it transmits user files to a third-party service (expected for this use-case).
Install Mechanism
Instruction-only skill with no install spec or code files; requires only common CLI tools (curl, jq). No downloads or archives are written to disk by the skill itself.
Credentials
No environment variables, credentials, or config paths are required. The lack of secrets is proportionate to the described functionality.
Persistence & Privilege
Skill is not marked always:true and does not request persistent system privileges or modify other skills. Autonomous invocation is allowed (platform default) but not combined with other red flags.
Assessment
This skill uploads the PDF you specify to CamScanner's API (ai-tools.camscanner.com) and returns a converted file — that behavior is expected and consistent. Before using it, confirm you are comfortable sending the document to a third party (do not upload sensitive or regulated documents unless you have verified CamScanner's privacy/retention policies). Test with non-sensitive files first, ensure curl and jq are installed, and verify TLS/network access to the API endpoint. If you need offline conversion or cannot share data externally, do not use this skill.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

📄 Clawdis
Binscurl, jq
latestvk97811j09dhwy1y6pvf4673pdn84ds6n
98downloads
0stars
1versions
Updated 3w ago
v1.0.0
MIT-0

CamScanner PDF to Office

Overview

CamScanner provides document conversion capabilities that convert PDF documents to Word or Excel documents while preserving original formatting. The workflow is a 3-step pipeline: upload the PDF, convert it, then download the result.

When to Use

  • User wants to convert a PDF to Word (.docx) or Excel (.xlsx)
  • User wants to make a PDF editable
  • User has a PDF and needs it as an Office document

Privacy & Data

Important: Privacy & Data Flow Notice

  • Third-party service: This skill sends your files to CamScanner's official servers (ai-tools.camscanner.com) for processing.
  • Data retention: CamScanner servers process your files in real-time. Files are not permanently stored on the server.
  • Local files: Output files are saved to your local filesystem at the path you specify.

API Reference

Base URL: https://ai-tools.camscanner.com

Supported Conversions

source_typetarget_typeOutput
pdfword.docx
pdfexcel.xlsx

Step 1: Upload PDF

BASE="https://ai-tools.camscanner.com"

IN_FILE_ID=$(curl -sS -X POST "$BASE/v1/tools/upload_file/execute" \
  -H "Content-Type: application/octet-stream" \
  --data-binary "@/path/to/document.pdf" | jq -r '.tool_result.data.file_id')

Response:

{
  "code": 200,
  "tool": "upload_file",
  "tool_result": {
    "success": true,
    "data": {
      "file_id": "file_1741857600_ab12cd34ef56",
      "size": 24576
    }
  }
}

Step 2: Convert PDF

OUT_FILE_ID=$(curl -sS -X POST "$BASE/v1/tools/convert_pdf/execute" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$IN_FILE_ID\",\"source_type\":\"pdf\",\"target_type\":\"TARGET\",\"output_mode\":\"file_id\"}" \
  | jq -r '.tool_result.data.file_id')

Replace TARGET with one of: word, excel.

Response:

{
  "code": 200,
  "tool": "convert_pdf",
  "tool_result": {
    "success": true,
    "data": {
      "file_id": "file_1741857722_ddeeff001122",
      "target_type": "word"
    }
  }
}

Step 3: Download Result

curl -sS -X POST "$BASE/v1/tools/download_file/execute?response_mode=raw" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$OUT_FILE_ID\"}" \
  -o /path/to/output.docx

Critical: The response_mode=raw query parameter is required to get the binary file. Without it, the response is JSON.

Quick Reference: Complete Pipeline

BASE="https://ai-tools.camscanner.com"
INPUT_PDF="/path/to/document.pdf"
TARGET_TYPE="word"          # word | excel
OUTPUT_FILE="/path/to/output.docx"

# Upload
IN_FILE_ID=$(curl -sS -X POST "$BASE/v1/tools/upload_file/execute" \
  -H "Content-Type: application/octet-stream" \
  --data-binary "@$INPUT_PDF" | jq -r '.tool_result.data.file_id')

# Convert
OUT_FILE_ID=$(curl -sS -X POST "$BASE/v1/tools/convert_pdf/execute" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$IN_FILE_ID\",\"source_type\":\"pdf\",\"target_type\":\"$TARGET_TYPE\",\"output_mode\":\"file_id\"}" \
  | jq -r '.tool_result.data.file_id')

# Download
curl -sS -X POST "$BASE/v1/tools/download_file/execute?response_mode=raw" \
  -H "Content-Type: application/json" \
  -d "{\"file_id\":\"$OUT_FILE_ID\"}" \
  -o "$OUTPUT_FILE"

File Extension Mapping

target_typeExtension
word.docx
excel.xlsx

Common Mistakes

MistakeFix
Forgetting response_mode=raw on downloadAlways append ?response_mode=raw to the download URL
Wrong Content-Type on uploadUpload uses application/octet-stream, not multipart/form-data
Using GET instead of POSTAll three endpoints use POST
Missing source_type in convert requestAlways include "source_type": "pdf"
Missing output_mode in convert requestAlways include "output_mode": "file_id" to get a downloadable file_id
Wrong output extensionMatch extension to target_type (see table above)

Error Handling

Check each step before proceeding:

# After upload
if [ -z "$IN_FILE_ID" ] || [ "$IN_FILE_ID" = "null" ]; then
  echo "Upload failed"; exit 1
fi

# After convert
if [ -z "$OUT_FILE_ID" ] || [ "$OUT_FILE_ID" = "null" ]; then
  echo "Conversion failed"; exit 1
fi

Comments

Loading comments...