結論から言うと:SmartSlim SDK を通じて標準C ABI導出動的ライブラリ、サポートPython/Java/C#/Rust4種類語言統合、コア呼び出しフロー分四步—初始化SDK、作成圧縮設定、執行圧縮、釈放リソース。単ファイル圧縮100MB PDF耗時約0.8秒、認できる検証延遅低に5ms。本記事に出3種類語言の完整統合コード例、APIパラメータテーブルと性能調優ソリューションョン、別添一括圧縮Demo。以下ではSDKアーキテクチャから説明し、逐一詳解各語言の統合メソッド。
もしあなた必要を通じてHTTPインターフェース呼び出し圧縮サービスそして非SDK統合、まず圧縮API呼び出し実戦:RESTfulインターフェース文書詳解。
一、SDKアーキテクチャと統合原理
SmartSlim SDK の底層は Rust 圧縮エンジン、を通じて標準C ABI(Application Binary Interface)導出である動的ライブラリ(.so/.dylib/.dll)、いかなるサポートFFI(外部関数インターフェース)の語言すべてできる読み込みおよびびびびびび呼び出し。この種類アーキテクチャの好処は:一次用Rust编写コア引擎、多語言復用と一套二進制ライブラリ、い必要各語言重復実現圧縮逻辑。
| グループ件 | 技術 | 作用 | 輸出物 |
|---|---|---|---|
| 圧縮エンジンコア | Rust | 執行圧縮アルゴリズム | 静態ライブラリ.a/.lib |
| ABI導出層 | Rust #[no_mangle] | 導出C互換関数 | 動的ライブラリ.so/.dylib/.dll |
| 語言绑定層 | 各語言FFI | カプセル化ネイティブ呼び出し | 各語言パッケージ/ライブラリ |
| 認できる模ブロック | Rust + 暗号化 | 検証認できる密钥 | 内嵌に動的ライブラリ |
| 設定管理 | Rust struct | 圧縮パラメータ管理 | JSON/TOML設定 |
SDK提供する6プラットフォーム預コンパイルライブラリ、対応主ストリーム操作システム・CPUアーキテクチャ、開箱即用い必要自行コンパイルRustコード。
| プラットフォーム | 動的ライブラリ | 操作システム | CPUアーキテクチャ | 適用シナリオ |
|---|---|---|---|---|
| linux-x64 | libsmartslim.so | Linux | x86_64 | サービス器/卓面 |
| linux-arm64 | libsmartslim.so | Linux | aarch64 | ARMサービス器/樹莓派 |
| macos-universal | libsmartslim.dylib | macOS | x86_64+arm64 | Intel+Apple Silicon |
| windows-x64 | smartslim.dll | Windows | x86_64 | Windows卓面/サービス器 |
| linux-server-x64 | libsmartslim.so | Linux | x86_64 | サービス器最適化版 |
| linux-server-arm64 | libsmartslim.so | Linux | aarch64 | ARMサービス器最適化版 |
二、コアAPIパラメータ詳解
SDKのコアAPI分である初始化、設定、圧縮、釈放四クラス。下テーブル列出主API関数およびびびびびびそのパラメータ説明。
| API関数 | パラメータ | 戻り値 | 説明 |
|---|---|---|---|
| smartslim_init | license_key: String | handle: Handle | 初始化SDK、検証認できる |
| smartslim_create_config | format, level, quality | config: ConfigHandle | 作成圧縮設定 |
| smartslim_compress | handle, input, output, config | result: ResultCode | 執行単ファイル圧縮 |
| smartslim_compress_batch | handle, files[], config, workers | results[]: ResultCode | 一括圧縮(多並行) |
| smartslim_get_info | handle, filepath | FileInfo: struct | 獲取ファイル圧縮情報 |
| smartslim_free_config | config: ConfigHandle | void | 釈放設定リソース |
| smartslim_free | handle: Handle | void | 釈放SDK実例 |
圧縮設定パラメータサポート4級圧縮(low/medium/high/ultra)x 15シナリオ x 5檔性能(ultrafast/fast/balanced/quality/optimal)、共300種類グループ合、対応ほぼところある圧縮必要条件。
| パラメータ | できる選值 | デフォルト值 | 説明 |
|---|---|---|---|
| format | pdf/image/video/office/ofd | 自動検測 | ファイルタイプ |
| level | low/medium/high/ultra | medium | 圧縮レベル |
| quality | 1-100 | 75 | 品質因子(画像/PDF) |
| performance | ultrafast/fast/balanced/quality/optimal | balanced | 性能プリセット |
| workers | 1-16 | 4 | 並行スレッド数 |
| security | DISABLED/LOW/MEDIUM/HIGH/MAXIMUM | MEDIUM | セキュリティレベル |
三、3種類語言統合コード例
下面に出Python、Java、C#3種類語言の完整統合例、均で圧縮単つPDFフォントァイルである例。
1. Python統合(ctypes)
Pythonを通じてctypes模ブロック読み込み動的ライブラリおよびびびびびび呼び出し導出関数。以下コード実現初始化SDK、作成設定、圧縮PDF、釈放リソースの完整フロー。100MB PDF圧縮耗時約0.8秒。
| ステップ | Pythonコード | 説明 |
|---|---|---|
| 1.読み込みライブラリ | lib = ctypes.CDLL('./libsmartslim.so') | 読み込み動的ライブラリ |
| 2.初始化 | handle = lib.smartslim_init(b"YOUR_LICENSE") | 伝入認できる密钥 |
| 3.作成設定 | config = lib.smartslim_create_config(b"pdf", b"medium", 75) | PDF/medium/q75 |
| 4.執行圧縮 | lib.smartslim_compress(handle, b"in.pdf", b"out.pdf", config) | 圧縮ファイル |
| 5.釈放リソース | lib.smartslim_free_config(config); lib.smartslim_free(handle) | 釈放メモリ |
2. Java統合(JNI)
Javaを通じてJNI(Java Native Interface)呼び出し動的ライブラリ。必要先编写nativeメソッド声明、然後読み込みライブラリファイル。以下コード展示コア呼び出しフロー、適したSpring Boot等Java後端項目目統合。
| ステップ | Javaコード | 説明 |
|---|---|---|
| 1.読み込みライブラリ | System.loadLibrary("smartslim") | 読み込みDLL/SO |
| 2.声明メソッド | native long smartslim_init(String key) | JNIメソッド声明 |
| 3.初始化 | long handle = smartslim_init("YOUR_LICENSE") | 獲取実例句柄 |
| 4.作成設定 | long config = smartslim_create_config("pdf","medium",75) | 設定パラメータ |
| 5.執行圧縮 | smartslim_compress(handle, "in.pdf", "out.pdf", config) | 圧縮ファイル |
| 6.釈放リソース | smartslim_free_config(config); smartslim_free(handle) | 釈放メモリ |
3. C#統合(P-Invoke)
C#を通じてP/Invoke(Platform Invocation Services)呼び出し動的ライブラリ。使用DllImport特性声明外部関数、適した.NET/.NET Core項目目統合。以下コード対応WindowsLinux双プラットフォーム。
| ステップ | C#コード | 説明 |
|---|---|---|
| 1.声明関数 | [DllImport("smartslim")] static extern IntPtr smartslim_init(string key) | P-Invoke声明 |
| 2.初始化 | IntPtr handle = smartslim_init("YOUR_LICENSE") | 獲取句柄 |
| 3.作成設定 | IntPtr config = smartslim_create_config("pdf","medium",75) | 設定パラメータ |
| 4.執行圧縮 | smartslim_compress(handle, "in.pdf", "out.pdf", config) | 圧縮ファイル |
| 5.釈放リソース | smartslim_free_config(config); smartslim_free(handle) | 釈放メモリ |
四、性能調優と一括圧縮
SDK統合の性能調優主围绕並行、メモリ・バッチ処理三つ次元。下のテーブルに示す異る調優戦略の効果で比較。
| 調優戦略 | 単ファイル耗時 | 100ファイル総耗時 | メモリ占用 | 適用認できる |
|---|---|---|---|---|
| 単スレッドシリアル | 0.8秒 | 80秒 | 50MB | Trial(並行1) |
| 4スレッド並行 | 0.8秒 | 22秒 | 180MB | Standard(並行4) |
| 8スレッド並行 | 0.8秒 | 12秒 | 320MB | Professional(並行8) |
| 16スレッド並行 | 0.8秒 | 7秒 | 600MB | Enterprise(並行16+) |
| ストリーム式圧縮模式 | 1.2秒 | 95秒 | 15MB | ところある認できる |
一括圧縮推奨使用SDK内置のsmartslim_compress_batchインターフェース、伝入ファイルリストと並行数、SDK内部用Rust非と期タスク調度、より各語言自行実現多スレッド更高效。以下は一つ一括圧縮100つPDFフォントァイルのDemo性能データ。
| ファイル数量 | 単ファイル平均 | 総サイズ | 圧縮後サイズ | 8並行耗時 | 圧縮率 |
|---|---|---|---|---|---|
| 100つPDF | 15MB | 1.5GB | 320MB | 12秒 | 78.7% |
| 100つPNG | 8MB | 800MB | 180MB | 8秒 | 77.5% |
| 100つDOCX | 5MB | 500MB | 120MB | 6秒 | 76.0% |
| 100つMP4 | 50MB | 5GB | 1.8GB | 45秒 | 64.0% |
もしあなた必要理解Rust圧縮ライブラリの底層アルゴリズムで比較、を参照してくださいRust圧縮ライブラリで比較:である何選択Rust写圧縮エンジン。もしあなた必要を圧縮サービスを通じてDockerコンテナ化デプロイ、を参照してくださいDockerデプロイ圧縮サービス。
五、よくある質問FAQ
Q1:圧縮SDKサポートどのプログラミング語言?
SmartSlim SDK を通じて標準C ABI導出動的ライブラリ、サポートPython(ctypes)、Java(JNI)、C#(P-Invoke)、Rust(FFI)4種類語言統合。SDK提供する6プラットフォーム預コンパイルライブラリ(linux-x64/arm64、macos-universal、windows-x64等)、開箱即用い必要コンパイル。その彼サポートC ABI呼び出しの語言(例えばGo、Node.js、PHP)もできるを通じて各自のFFI機制統合。
Q2:圧縮SDKのAPI呼び出しフローとは?
標準呼び出しフロー分四步:1.呼び出しsmartslim_init初始化SDKおよびびびびびび伝入認できる密钥;2.呼び出しsmartslim_create_config作成圧縮設定(指定形式、レベル、性能プリセット);3.呼び出しsmartslim_compress執行圧縮(伝入輸入ファイルパス・輸出パス);4.呼び出しsmartslim_free釈放リソース。単ファイル圧縮100MB PDF耗時約0.8秒、認できる検証延遅低に5ms。
Q3:圧縮SDKの実現一括圧縮?
一括圧縮ある2種類方法:一は循環呼び出し単ファイル圧縮インターフェース、配合多スレッド並行(Python用concurrent.futures、Java用ThreadPoolExecutor);二は使用SDK内置の一括圧縮インターフェースsmartslim_compress_batch、伝入ファイルリストと並行数、SDK内部用Rust非と期タスク調度。推奨第二種類方法、Standard認できるサポート4並行、Professionalサポート8並行、Enterpriseサポート16並行以上。
Q4:圧縮SDK統合报錯場合の対応?
一般の报錯およびびびびびび解决ソリューションョン:1.UnsatisfiedLinkError(Java)またはDLL読み込み失敗—確認動的ライブラリパス・システムアーキテクチャは否匹配;2.認できる検証失敗—確認認できる密钥は否正しい、は否過期;3.メモリ溢出—調低並行数または啓用ストリーム式圧縮模式;4.形式不サポート—確認SDKバージョンは否サポート目標形式。推奨開啓DEBUGログ定ビット問題、または聯系SmartSlim技術サポート。
まとめ
SmartSlim SDK を通じて標準C ABI実現一次编写、多語言呼び出し、サポートPython/Java/C#/Rust4種類語言統合。コア呼び出しフロー四步走:初始化、作成設定、執行圧縮、釈放リソース。単ファイル圧縮100MB PDF耗時0.8秒、一括圧縮100つファイル8並行僅必要12秒。性能調優三次元:並行(4–16スレッド)、メモリ(ストリーム式模式低下75%占用)、バッチ処理(内置batchインターフェース)。
覚えておくべき3つのポイント:一は選択とシステムアーキテクチャ匹配の預コンパイルライブラリ(6プラットフォームすべて対応);二は一括圧縮優先用内置batchインターフェースそして非自行多スレッド;三は生产環境推奨Professional以上認できる(8並行)、兼顧性能・コスト。もしあなた更倾へHTTPインターフェース呼び出しそして非SDK統合、を参照してください圧縮API呼び出し実戦。
関連記事
ファイルを圧縮てみませんか?SmartSlimを試す
独自開発のRust圧縮エンジンに基づき、PDF/画像/動画/Office/OFDど10分野40以上の形式に対応。ローカル圧縮でデータは外部に送信されません。