ComOfficeKit SDK · iOSとmacOS

iPhone、iPad、Macアプリの中でOfficeドキュメントを扱う

ComOfficeKitは、LynxOfficeを支えるドキュメントエンジンを、ご自身のアプリ向けの2つのSwiftフレームワークとして提供するものです。Word、Excel、PowerPointファイルの読み取り、編集、保存に加え、そのページの画像やPDFへのレンダリングまで、すべてデバイス上で行えます。

iOS 16以降macOS 13以降Swiftオフラインで動作

約60日間、無料で評価できます。

Swift

import DocumentCore
import AppleRender

// verified on the device; no network
try SDKLicense.activate(key: licence)

let scene = try DocumentParser.parse(docxAt: url)
let doc = ParsedDocument.word(scene)

let n = try DocumentRenderer.pageCount(of: doc)
let image = try DocumentRenderer.image(
    of: doc, page: 0, scale: 2)
let pdf = try DocumentRenderer.pdfData(of: doc)

SDKの内容

2つのSwiftフレームワーク。DocumentCoreがファイルを読み書きし、AppleRenderがそのページを描画します。

DocumentCore:読み取り、編集、保存

.docx、.xlsx、.pptxを、構造化された不変のシーン(段落・ラン・表・セクション、シート・セル・数式、スライド・図形)に解析します。編集を加えた新しいシーンを作成して保存すると、変更したパーツだけが再生成され、ファイル内のそれ以外の部分はそのまま引き継がれます。

AppleRender:ページ、画像、PDF

Core TextとCore Graphicsでドキュメントをレイアウトし、任意のページを画像またはPDFにレンダリングします。Word文書はページに流し込まれ、スプレッドシートは印刷用にシートごとにページ分割され、各スライドが1ページになります。

数式エンジン

スプレッドシートの数式を計算します。#DIV/0!や#REF!などのExcel形式のエラー値は、例外ではなく、セルの値として返されます。

フォントを同梱

CalibriとCambriaのメトリック互換フォントをSDKに同梱しているため、これらのフォントを使ったドキュメントも正しいサイズでレイアウトされます。それ以外のフォントはシステムのものを使い、中国語、日本語、韓国語のテキストにも対応したフォールバックの仕組みを備えています。

アプリに組み込んで出荷できる設計

ドキュメントエンジンを顧客に提供する前に、本来はご自身で確認しなければならない点です。

  • ネットワークは一切使いません。ライセンスは署名付きの1行のテキストで、デバイス上で検証されます。そのためドキュメントがアプリの外に出ることはなく、サンドボックス化されたアプリでも、ライセンスのためにネットワークのエンタイトルメントは不要です。
  • 型付きエラー。エンジンが読み取れないファイルでは、該当するパーツと理由を示すエラーが返され、ドキュメントの入力が原因でアプリがクラッシュすることはありません。
  • 並列実行でも安全です。シーンはSendableな値型で、パーサー、ライター、レンダラーはステートレスなため、異なるドキュメントを同時に処理できます。
  • 追加方法は2通りです。GitHubからパッケージを追加すると、Swift Package Managerがリリースから2つのフレームワークをダウンロードし、チェックサムを検証します。または、各リリースに添付されたzip(フレームワーク、ドキュメント、サンプルを含むフォルダ)を取得し、ローカルパッケージとして追加します。

プラットフォーム

iOS 16以降、iPadOS 16以降、macOS 13以降。

フォーマット

.docx、.xlsx、.xlsm、.pptxを読み込み、同じフォーマットのほか、ページ画像とPDFを出力します。.xlsmワークブックのマクロはバイト単位でそのまま保持され、実行されることはありません。

技術ドキュメント

2つのフレームワークそれぞれのAPIリファレンスに加え、はじめ方、ライセンス、エラーとスレッド処理、レンダリング、Word・スプレッドシート・プレゼンテーションの各ファイルの扱い方に関するガイドを用意しています。オンラインで読む(英語)。

できないこと

自社に合うかどうかを、早い段階で判断していただくために。

PDFの編集には非対応

ComOfficeKitは、ドキュメントをPDFにレンダリングします。PDFファイルを開いたり、注釈を付けたり、編集したりすることはできません。

ユーザーインターフェースなし

エディターやビューアーの画面はありません。インターフェースはご自身で作成し、SDKがドキュメントモデルを提供してページを描画します。

Appleプラットフォームのみ

このSDKは、iOS、iPadOS、macOSで動作します。Windowsには専用のSDK「ComOfficeKit for Windows」があります。ほかに必要なプラットフォームをお知らせください。

よくある質問

ComOfficeKitはどうすれば入手できますか?

Swift Package ManagerでGitHubから追加してください。READMEには約60日間有効な無料の評価用キーが公開されているため、登録なしでSDKのすべての機能をお試しいただけます。ライセンスについては、お問い合わせフォームで営業チームにプロジェクトについてお知らせいただくか、support@comofficekit.comまでメールをお送りください。

ネットワーク接続は必要ですか?

いいえ。ライセンスはデバイス上で検証され、SDKがネットワーク通信を行うことは一切ないため、ドキュメントはアプリの外に出ません。

iOSとmacOSのどのバージョンに対応していますか?

iOSとiPadOSは16以降、macOSは13以降です。

PDFファイルを開けますか?

いいえ。ComOfficeKitが扱えるのは「.docx」「.xlsx」「.xlsm」「.pptx」ファイルで、これらをPDFにレンダリングします。PDFドキュメントを開いたり編集したりすることはできません。

LynxOfficeと同じエンジンですか?

はい。LynxOfficeは同じドキュメントエンジンを土台に作られているため、SDKはアプリと同じようにファイルを読み取り、レンダリングします。

ComOfficeKitについてご相談ください

開発内容と必要なプラットフォームをお知らせください。営業チームから折り返しご連絡します。support@comofficekit.comへ直接メールをお送りいただくこともできます。