テンプレートとデータソースから文書を組み立て、マージ、メールマージするために、REST API と Ruby Cloud SDK を使用します。
無料トライアルを開始GroupDocs.Assembly Cloud は、完全にマネージドされた REST ベースのサービスで、Ruby アプリケーションから直接高度にカスタマイズされた文書を作成できます。 このプラットフォームはテンプレートとデータのモデルで動作します。特別なプレースホルダー フィールドやプログラム可能な構造を含むテンプレート文書(Word、Excel、PowerPoint、PDF、HTML など)を設計します。実行時には、XML または JSON 形式のデータソースを提供し、LINQ スタイルの式構文でデータをテンプレートにバインドすると、クラウドサービスが必要な形式で最終文書を組み立てます。 このアプローチにより、ローカルの Office インストールやサードパーティ ライブラリ、複雑なレンダリング エンジンは不要となり、すべての重い処理は安全な GroupDocs データセンターで実行されます。mail‑merge、dynamic tables、conditional content、barcode generation、image and chart insertion などの組み込みサポートと、豊富な書式設定オプションが提供されます。また、SSL/TLS encrypted 通信、認証用の個人アクセスキー、ロールベースの権限管理によりデータを安全に保護します。
gem install groupdocs_assembly_cloud)。app_sid と api_key を指定します。UploadFile エンドポイントを使用します。AssembleOptions オブジェクトを作成し、アップロードしたテンプレートを参照し、希望の出力形式を指定し、XML/JSON データソース(またはそれを含むファイル)を提供します。assemble_document を呼び出すと、API が組み立てられた文書を返します。その文書は直接ダウンロードするか、Cloud Storage に保存できます。このシンプルな手順を使用すれば、契約書、請求書、提案書、出荷レポート、パーソナライズされたレターなど、あらゆるビジネスクリティカルな文書をオンデマンドで生成でき、単一リクエストからメールマージを伴う大規模バッチ処理シナリオまでスケールします。
また、Ruby SDK は、ストレージ操作、エラー処理、リクエストタイムアウトのカスタマイズ用ヘルパークラスも提供し、Rails、Sinatra、または任意の Ruby ベースのサービスへの統合をシームレスに行えます。
以下のスニペットは、Assembly Cloud の Ruby SDK を使用してドキュメントを生成する方法を示しています。 実行手順:
AssembleOptions(テンプレート、出力形式、データソース)を定義します。assemble_document を呼び出して組み立てられたファイルを取得します。require_relative '../lib/groupdocs_assembly_cloud'
GroupDocsAssemblyCloud.configure do |config|
config.client_data['app_sid'] = '####-####-####-####-####'
config.client_data['api_key'] = '##################'
end
@assembly_api = AssemblyApi.new
file_name = 'Input1.docx'
data_file = 'Input2.docx'
request_file_content = File.open(file_name)
upload_document_request = UploadFileRequest.new(
file_content: request_file_content, path: file_name)
@assembly_api.upload_file(upload_document_request)
template_file_info = TemplateFileInfo.new(:FilePath => file_name)
assemble_options = AssembleOptions.new(
:TemplateFileInfo => template_file_info,
:SaveFormat => "docx",
:ReportData => File.open(data_file, 'rb') { |f| f.read })
request = AssembleDocumentRequest.new assemble_options
@assembly_api.assemble_document request