テンプレートからPDFを生成する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Content Hubでは、アセットへの注釈のPDFレポート など、エンティティのプロパティや関係に基づいて印刷テンプレートからPDFファイルを生成できます。
!重要PDFを生成するには、Print.EntityGenerationTemplateとM.Actionの定義の両方に対して少なくともRead権限が必要です。
PDF生成機能を設定するには、以下のことが必要です:
- 印刷用テンプレートを作成しましょう。
- 印刷物のエンティティ生成アクションを作成します。
- PDF生成操作を追加してください。
!注生成されたPDFファイルは ダウンロード ページからダウンロードできます。Content HubはPDFの処理を2GB以下のファイルに制限しています。
印刷テンプレートZIPパッケージの例
この節では、Moduleというエンティティで使われる印刷テンプレートZIPパッケージの例を提供します。このエンティティにはFeatureという関連するエンティティのリストが含まれています。
ZIPパッケージには以下のファイルが含まれています:
- Module.json - 使用すべき Module プロパティと関連するエンティティ(この場合は Feature エンティティ)を指定するメインファイル。
- Module.cshtml - PDFファイル内の定義された Module プロパティの構造をHTML形式で指定します。このファイルは他の .cshtml ファイルを参照して構造内に埋め込むことができます。
- Feature.cshtml - PDFファイル内の定義された Feature プロパティの構造をHTML形式で指定します。このファイルは他の .cshtml ファイル内に埋め込むことができます。
- CSSファイル: .cshtml ファイルに関連するCSSを含みます。
モジュールjson
以下はmodule.jsonファイルの例です:
json { "template": { "type": "Template", "file": "module.cshtml", "source": { "type": "entity", "variables": { "name": "TopTitleLabel", "type": "snippet", "value": { "en-US": "Module Specifications" } }, { "name": "Preview", "type": "rendition", "lowRes": { "property": "Renditions", "rendition": "preview" }, "highRes": { "property": "MainFile" }, "relation": { "name": "ModuleToMasterAsset", "role": "Parent", "relation": { "name": "MasterFile", "role": "Parent" } } }, { "name": "FeaturesLabel", "type": "snippet", "value": { "en-US": "Features" } }, { "name": "ModuleName", "type": "property", "property": "ModuleName" }, { "name": "ModuleDescription", "type": "property", "property": "ModuleDescription" }, { "name": "Features", "type": "Template", "template": { "type": "Template", "file": "features.cshtml", "source": { "type": "relation", "relation": { "name": "ModuleToFeature", "role": "Parent" }, "variables": { "name": "FeatureName", "type": "property", "property": "FeatureName" }, { "name": "FeatureDescription", "type": "property", "property": "FeatureDescription" }, { "name": "FeatureType", "type": "property", "property": "FeatureType" }
} } }
} } }
!注オプションリスト変数を正しく印刷するには、"type": "datasource"を使用します。
module.jsonファイルには関係タイプや関連エンティティのプロパティアクセスも含めることができます。例えば、キャンペーンに関連する記事を取得し、その名前やライフサイクルの状態をリレーションで取得し、articles.cshtmlファイルを使ってレンダリングできます。
{ "name": "Articles", "type": "Template", "template": { "type": "Template", "file": "articles.cshtml", "source": { "type": "relation", "relation": { "name": "CampaignToContent", "role": "Child" }, "variables": { "name": "ArticleStatus", "type": "relation", "relation": { "name": "ContentLifeCycleToContent", "role": "parent", "property": "ContentLifeCycle.Label" } }, { "name": "ArticleName", "type": "property", "property": "Content.Name" },
} } }
モジュールcshtml
以下はmodule.cshtmlファイルの例です:
html @model Stylelabs.M.Print.EntityGeneration.Models.Model
@Raw(@Model.Properties"$$TopTitleLabel$$".FirstOrDefault())
@Raw(@Model.Properties"$$ModuleName$$".FirstOrDefault())
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
@Raw(@Model.Properties"$$FeaturesLabel$$".FirstOrDefault())
module.jsonファイルに関連エンティティの関係タイプやアクセスプロパティを含めると、module.cshtmlファイルは記事をレンダリングし、Model.Properties辞書から値を取得してその名前とステータスを表示します。
@model Stylelabs.M.Print.EntityGeneration.Models.Model @using System.Linq
@if (Model.Properties.ContainsKey("$$ArticleName$$")) { @Raw(@Model.Properties"$$ArticleName$$".FirstOrDefault()) }
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Salesforce Article Status:
@if (Model.Properties.ContainsKey("$$ArticleStatus$$"))
{
@Raw(@Model.Properties"$$ArticleStatus$$".FirstOrDefault())
}
機能cshtml
以下はfeature.cshtmlファイルの例です:
html @model Stylelabs.M.Print.EntityGeneration.Models.Model