convertorio/sdk
Composer 安装命令:
composer require convertorio/sdk
包简介
Official Convertorio SDK for PHP - Convert images easily with a simple API
关键字:
README 文档
README
Official SDKs for the Convertorio API - Convert images between 20+ formats with ease.
🌟 Features
- ✅ Simple, intuitive APIs
- ✅ Support for 20+ image formats
- ✅ Automatic file upload and download
- ✅ Event-driven progress tracking
- ✅ Comprehensive error handling
- ✅ TypeScript support
- ✅ Well documented with examples
- ✅ PDF to Thumbnail conversion
- ✅ AI-powered OCR text extraction
📦 Supported Languages
| Language | Status | Documentation | Package |
|---|---|---|---|
| Node.js | ✅ Available | docs/nodejs | convertorio-sdk |
| Python | ✅ Available | docs/python | convertorio-sdk |
| PHP | ✅ Available | README-PHP.md | convertorio/sdk |
| Go | ✅ Available | docs/go | github.com/SedeSoft/convertorio-sdk/libs/go |
| Java | ✅ Available | libs/java | com.sedesoft:convertorio-sdk |
| Ruby | ✅ Available | libs/ruby | convertorio-sdk |
| .NET/C# | ✅ Available | libs/dotnet | Convertorio.SDK |
| n8n | ✅ Available | docs/n8n | n8n-nodes-convertorio |
🚀 Quick Start
Node.js
npm install convertorio-sdk
const ConvertorioClient = require('convertorio-sdk'); const client = new ConvertorioClient({ apiKey: 'your_api_key_here' }); const result = await client.convertFile({ inputPath: './image.png', targetFormat: 'jpg' }); console.log('Converted!', result.outputPath);
Python
pip install convertorio-sdk
from convertorio_sdk import ConvertorioClient client = ConvertorioClient(api_key='your_api_key_here') result = client.convert_file( input_path='./image.png', target_format='jpg' ) print(f"Converted! {result['output_path']}")
PHP
composer require convertorio/sdk
<?php require 'vendor/autoload.php'; use Convertorio\SDK\ConvertorioClient; $client = new ConvertorioClient('your_api_key_here'); $result = $client->convertFile( './image.png', 'jpg' ); echo "Converted! {$result['output_path']}";
Go
go install github.com/SedeSoft/convertorio-sdk/libs/go
package main import ( "fmt" "log" convertorio "github.com/SedeSoft/convertorio-sdk/libs/go" ) func main() { client := convertorio.NewClient(convertorio.ClientConfig{ APIKey: "your_api_key_here", }) result, err := client.ConvertFile(convertorio.ConvertFileOptions{ InputPath: "./image.png", TargetFormat: "jpg", }) if err != nil { log.Fatal(err) } fmt.Printf("Converted! %s\n", result.OutputPath) }
Java
<!-- Maven: Add to pom.xml --> <dependency> <groupId>com.sedesoft</groupId> <artifactId>convertorio-sdk</artifactId> <version>1.2.0</version> </dependency>
import com.sedesoft.convertorio.*; public class Example { public static void main(String[] args) { try { ConvertorioClient client = new ConvertorioClient( ClientConfig.builder() .apiKey("your_api_key_here") .build() ); ConversionResult result = client.convertFile( ConversionOptions.builder() .inputPath("./image.png") .targetFormat("jpg") .build() ); System.out.println("Converted! " + result.getOutputPath()); } catch (ConvertorioException e) { System.err.println("Error: " + e.getMessage()); } } }
Ruby
gem install convertorio-sdk
require 'convertorio' client = Convertorio::Client.new(api_key: 'your_api_key_here') result = client.convert_file( input_path: './image.png', target_format: 'jpg' ) puts "Converted! #{result[:output_path]}"
.NET/C#
dotnet add package Convertorio.SDK
using Convertorio.SDK; using (var client = new ConvertorioClient("your_api_key_here")) { var result = await client.ConvertFileAsync(new ConversionOptions { InputPath = "./image.png", TargetFormat = "jpg" }); Console.WriteLine($"Converted! {result.OutputPath}"); }
📖 Language-Specific Documentation
Node.js (JavaScript/TypeScript)
The Node.js SDK provides a simple, promise-based API with event support for tracking conversion progress.
Installation:
npm install convertorio-sdk
Features:
- Promise-based async/await API
- Event emitters for progress tracking
- TypeScript definitions included
- Automatic file handling
Python
The Python SDK provides an intuitive API with event callbacks for tracking conversion progress.
Installation:
pip install convertorio-sdk
Features:
- Simple, synchronous API
- Event callbacks for progress tracking
- Type hints for IDE support
- Automatic file handling
PHP
The PHP SDK provides a clean, PSR-4 compliant API with event callbacks for tracking conversion progress.
Installation:
composer require convertorio/sdk
Features:
- PSR-4 autoloading
- Event callbacks for progress tracking
- Compatible with modern PHP frameworks
- Automatic file handling
- Supports PHP 7.4+
Go
The Go SDK provides a type-safe, idiomatic Go API with event callbacks for tracking conversion progress.
Installation:
go install github.com/SedeSoft/convertorio-sdk/libs/go
Features:
- Type-safe API with structs
- Event callbacks for progress tracking
- No external dependencies (standard library only)
- Automatic file handling
- Supports Go 1.18+
Java
The Java SDK provides a type-safe API with builder patterns and event callbacks for tracking conversion progress.
Installation:
Maven:
<dependency> <groupId>com.sedesoft</groupId> <artifactId>convertorio-sdk</artifactId> <version>1.2.0</version> </dependency>
Gradle:
implementation 'com.sedesoft:convertorio-sdk:1.2.0'
Features:
- Type-safe API with builder patterns
- Event callbacks for progress tracking
- Uses OkHttp and Gson (no external image libraries)
- Automatic file handling
- Supports Java 11+
Ruby
The Ruby SDK provides a clean, idiomatic Ruby API with event callbacks for tracking conversion progress.
Installation:
gem install convertorio-sdk
Features:
- Clean, idiomatic Ruby API
- Event callbacks for progress tracking
- HTTParty for HTTP requests
- Automatic file handling
- Supports Ruby 2.7+
.NET/C#
The .NET SDK provides a modern async/await API with event-driven progress tracking for all .NET platforms.
Installation:
dotnet add package Convertorio.SDK
Features:
- Modern async/await API
- Event-driven progress tracking
- IDisposable pattern for proper resource cleanup
- Full IntelliSense support with XML documentation
- Supports .NET Standard 2.0+ (.NET Core, .NET 5+, .NET Framework 4.6.1+)
Other Languages
Want to see support for another language? Open an issue or contribute!
🔑 Getting Started
1. Get Your API Key
- Sign up at convertorio.com
- Go to your Account Settings
- Generate an API key
2. Install the SDK
Choose your preferred language and follow the installation instructions in the language-specific documentation.
3. Start Converting
Check out the examples in the examples/ directory for your chosen language.
🎯 Supported Formats
Convert between 20+ image formats:
Common Formats:
- JPG/JPEG
- PNG
- WebP
- AVIF
- GIF
- BMP
- TIFF
Advanced Formats:
- HEIC/HEIF (iPhone photos)
- ICO (icons)
- SVG (vectors)
- RAW formats (CR2, NEF, DNG)
- PSD (Photoshop)
- AI (Adobe Illustrator)
- EPS
- JXL (JPEG XL)
Special Conversions:
- Thumbnail (PDF to JPG preview)
✨ AI-Powered OCR:
- Extract text from any image format
- Powered by advanced AI technology
- Support for printed and handwritten text
- JSON or TXT output formats
🤖 AI-Powered OCR (NEW)
Extract text from images with state-of-the-art AI accuracy.
Quick OCR Example
Node.js
const result = await client.convertFile({ inputPath: './invoice.jpg', targetFormat: 'ocr', outputPath: './invoice.json', conversionMetadata: { ocr_format: 'json', ocr_instructions: 'Extract invoice data including date, items, and total' } }); console.log(`Extracted text, tokens used: ${result.tokensUsed}`);
Python
result = client.convert_file( input_path='./receipt.jpg', target_format='ocr', output_path='./receipt.txt', conversion_metadata={ 'ocr_format': 'txt', 'ocr_instructions': 'Extract all text from this receipt' } ) print(f"Tokens used: {result['tokens_used']}")
PHP
$result = $client->convertFile( './document.jpg', 'ocr', './document.json', [ 'ocr_format' => 'json', 'ocr_instructions' => 'Extract form data as structured JSON' ] ); echo "Tokens used: " . $result['tokens_used'];
Ruby
result = client.convert_file( input_path: './form.jpg', target_format: 'ocr', output_path: './form.txt', conversion_metadata: { ocr_format: 'txt', ocr_instructions: 'Extract all text preserving formatting' } ) puts "Tokens used: #{result[:tokens_used]}"
Go
result, err := client.ConvertFile(convertorio.ConvertFileOptions{ InputPath: "./invoice.jpg", TargetFormat: "ocr", OutputPath: "./invoice.json", ConversionMetadata: map[string]interface{}{ "ocr_format": "json", "ocr_instructions": "Extract invoice items and total", }, }) fmt.Printf("Tokens used: %d\n", result.TokensUsed)
Java
ConversionResult result = client.convertFile( ConversionOptions.builder() .inputPath("./receipt.jpg") .targetFormat("ocr") .outputPath("./receipt.txt") .conversionMetadata(Map.of( "ocr_format", "txt", "ocr_instructions", "Extract receipt items and total" )) .build() ); System.out.println("Tokens used: " + result.getTokensUsed());
.NET/C#
var result = await client.ConvertFileAsync(new ConversionOptions { InputPath = "./invoice.jpg", TargetFormat = "ocr", OutputPath = "./invoice.json", ConversionMetadata = new ConversionMetadata { OcrFormat = "json", OcrInstructions = "Extract invoice data with line items" } }); Console.WriteLine($"Tokens used: {result.TokensUsed}");
OCR Features
- High Accuracy: Powered by advanced AI for state-of-the-art text recognition
- Multiple Languages: Automatic language detection and support
- Flexible Output: Choose between
txt(plain text) orjson(structured data) - Custom Instructions: Guide the AI to extract specific information
- Handwriting Support: Recognizes both printed and handwritten text
- Table Recognition: Preserves table structure in extracted text
- Token-Based Billing: Pay only for what you use, with transparent token counts
OCR Options
| Option | Type | Values | Description |
|---|---|---|---|
ocr_format |
string | txt, json |
Output format (default: txt) |
ocr_instructions |
string | Any text | Custom instructions to guide extraction |
Use Cases
- 📄 Invoice Processing: Extract structured data from invoices and receipts
- 📝 Form Digitization: Convert paper forms to digital data
- 📋 Document Archival: Make scanned documents searchable
- 🏷️ Label Reading: Extract text from product labels and tags
- ✍️ Handwriting Recognition: Digitize handwritten notes
- 📊 Table Extraction: Convert tables in images to structured data
For complete OCR documentation, see the language-specific README files.
📄 PDF Thumbnails (NEW)
Generate high-quality thumbnail images from PDF documents. Perfect for document previews, galleries, and file browsers.
Quick Thumbnail Example
Node.js
const result = await client.convertFile({ inputPath: './document.pdf', targetFormat: 'thumbnail', outputPath: './preview.jpg', conversionMetadata: { thumbnail_width: 800, thumbnail_crop: 'half' // Optional: capture top 50% of page } }); console.log(`Thumbnail created: ${result.outputPath}`);
Python
result = client.convert_file( input_path='./document.pdf', target_format='thumbnail', output_path='./preview.jpg', conversion_metadata={ 'thumbnail_width': 800, 'thumbnail_crop': 'half' # Optional: capture top 50% of page } ) print(f"Thumbnail created: {result['output_path']}")
PHP
$result = $client->convertFile( './document.pdf', 'thumbnail', './preview.jpg', [ 'thumbnail_width' => 800, 'thumbnail_crop' => 'half' // Optional: capture top 50% of page ] ); echo "Thumbnail created: " . $result['output_path'];
Ruby
result = client.convert_file( input_path: './document.pdf', target_format: 'thumbnail', output_path: './preview.jpg', conversion_metadata: { thumbnail_width: 800, thumbnail_crop: 'half' # Optional: capture top 50% of page } ) puts "Thumbnail created: #{result[:output_path]}"
Go
result, err := client.ConvertFile(convertorio.ConvertFileOptions{ InputPath: "./document.pdf", TargetFormat: "thumbnail", OutputPath: "./preview.jpg", ConversionMetadata: map[string]interface{}{ "thumbnail_width": 800, "thumbnail_crop": "half", // Optional: capture top 50% of page }, }) fmt.Printf("Thumbnail created: %s\n", result.OutputPath)
Java
ConversionResult result = client.convertFile( ConversionOptions.builder() .inputPath("./document.pdf") .targetFormat("thumbnail") .outputPath("./preview.jpg") .conversionMetadata(Map.of( "thumbnail_width", 800, "thumbnail_crop", "half" // Optional: capture top 50% of page )) .build() ); System.out.println("Thumbnail created: " + result.getOutputPath());
.NET/C#
var result = await client.ConvertFileAsync(new ConversionOptions { InputPath = "./document.pdf", TargetFormat = "thumbnail", OutputPath = "./preview.jpg", ConversionMetadata = new ConversionMetadata { ThumbnailWidth = 800, ThumbnailCrop = "half" // Optional: capture top 50% of page } }); Console.WriteLine($"Thumbnail created: {result.OutputPath}");
Thumbnail Options
| Option | Type | Range | Default | Description |
|---|---|---|---|---|
thumbnail_width |
int | 50-2000 | 800 | Target width in pixels |
thumbnail_height |
int | 50-2000 | auto | Target height (maintains aspect ratio if not specified) |
thumbnail_crop |
string | see below | full |
Portion of page to capture |
Crop Values
| Value | Description |
|---|---|
full |
Full page (default) |
half |
Top 50% of page |
third |
Top 33% of page |
quarter |
Top 25% of page |
two-thirds |
Top 66% of page |
Thumbnail Features
- High Quality: Renders PDF at optimal resolution for sharp thumbnails
- First Page: Automatically extracts the first page of multi-page PDFs
- Aspect Ratio: Maintains document aspect ratio automatically
- Crop Control: Capture full page or just the top portion for previews
- JPEG Output: Optimized JPEG output at 90% quality
Use Cases
- 📁 File Browsers: Show document previews in file managers
- 📚 Document Libraries: Create gallery views of PDF collections
- 📧 Email Attachments: Generate previews for attached documents
- 🔍 Search Results: Display document thumbnails in search interfaces
- 📱 Mobile Apps: Efficient document previews for mobile devices
📊 API Limits
| Plan | Daily Free Conversions | Rate Limit | Concurrent Jobs | Max File Size |
|---|---|---|---|---|
| Free | 2 per day | 1 req/sec | 5 | 20 MB |
| Paid | Unlimited* | 1 req/sec | 5 | 20 MB |
*With purchased points
📁 Repository Structure
sdk/
├── src/ # PHP SDK source (root level for Packagist)
│ └── ConvertorioClient.php
├── libs/ # SDK implementations
│ ├── nodejs/ # Node.js SDK
│ ├── python/ # Python SDK
│ ├── php/ # PHP SDK
│ ├── go/ # Go SDK
│ ├── java/ # Java SDK
│ └── ruby/ # Ruby SDK
├── examples/ # Usage examples
│ ├── nodejs/ # Node.js examples
│ ├── python/ # Python examples
│ ├── php/ # PHP examples
│ ├── go/ # Go examples
│ ├── java/ # Java examples
│ └── ruby/ # Ruby examples
├── tests/ # Test suites
│ ├── nodejs/ # Node.js tests
│ ├── python/ # Python tests
│ ├── php/ # PHP tests
│ ├── go/ # Go tests
│ ├── java/ # Java tests
│ └── ruby/ # Ruby tests
├── docs/ # Documentation
│ ├── nodejs/ # Node.js documentation
│ ├── python/ # Python documentation
│ ├── php/ # PHP documentation
│ └── go/ # Go documentation
├── composer.json # PHP package config (root level)
├── examples.php # PHP examples (root level)
├── README.md # This file
└── README-PHP.md # PHP documentation
🛠️ Development
Building from Source
Each language SDK can be built independently. See the language-specific README for build instructions.
Running Examples
Navigate to the examples directory for your language:
# Node.js examples cd examples/nodejs node basic-conversion.js # Python examples cd examples/python python basic_conversion.py # PHP examples php examples.php # Go examples cd examples/go go run examples.go # Java examples cd examples/java javac -cp ".:libs/*" Example.java java -cp ".:libs/*" Example # Ruby examples cd examples/ruby ruby basic_conversion.rb
Testing
# Node.js cd libs/nodejs npm test # Python cd test/python/simple-convert python simple-test.py python test-resize.py python test-with-metadata.py # PHP cd test/php/simple-convert php simple-test.php php test-resize.php php test-with-metadata.php # Go cd test/go/simple-convert go run main.go # Java cd test/java/simple-convert javac -cp ".:libs/*" SimpleTest.java java -cp ".:libs/*" SimpleTest # Ruby cd tests/ruby bundle install bundle exec rspec
📚 Resources
- Main Website: convertorio.com
- API Documentation: convertorio.com/api-docs
- Support: support@convertorio.com
- GitHub Repository: github.com/convertorio/sdk
🤝 Contributing
We welcome contributions! Here's how you can help:
- Report bugs - Open an issue describing the problem
- Suggest features - Open an issue with your feature request
- Submit pull requests - Fork, make changes, and submit a PR
- Improve documentation - Help make the docs better
- Add SDK for new language - Implement SDK for a language we don't support yet
See CONTRIBUTING.md for detailed guidelines.
📄 License
All SDKs are released under the MIT License. See LICENSE for details.
🔔 Stay Updated
- Star this repository to get notifications about new releases
- Follow us on Twitter
- Subscribe to our newsletter
❓ Support
Need help? Here are your options:
- Documentation - Check the language-specific docs
- Examples - Browse the examples directory
- GitHub Issues - Open an issue
- Email Support - support@convertorio.com
- Community - Join our Discord server
Made with ❤️ by the Convertorio team
convertorio/sdk 适用场景与选型建议
convertorio/sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 7 次下载、GitHub Stars 达 2, 最近一次更新时间为 2025 年 11 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「image」 「api」 「sdk」 「conversion」 「converter」 「png」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 convertorio/sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 convertorio/sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 convertorio/sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Yii2 LightBox image galary widget uses Lightbox v2.10.0 by Lokesh Dhakar
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
A PSR-7 compatible library for making CRUD API endpoints
The Yii2 extension uses jQuery PrettyPhoto and OwlCarousel js and makes image galary from php array of structure defined.
Yii2 prettyPhoto image galary widget uses Lightbox view control jquery.prettyphoto.js
An image upload package which provides lot of functions such as upload, resize, crop, rotate, delete.
统计信息
- 总下载量: 7
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 23
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-20