1. 出力テンプレート

印刷テンプレート

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore Content Hub では、エンティティのリストから PDF ファイルを生成できます。印刷テンプレート機能を使用して、エンティティのプロパティとリレーションに基づいて PDF を作成できます。これには、アセットに対して作成した注釈の PDF レポートが含まれます。

Content Hub の PDF の生成機能を設定するには、次の手順を実行する必要があります。

  1. 印刷テンプレート エンティティを作成する
  2. 印刷エンティティの生成アクションを作成する
  3. PDF の生成操作を設定する
注意

生成された PDF ファイルは、[ダウンロード] ページからダウンロードできます。Content Hub では、PDF ファイル レンディションの処理を 2 GB に制限します。

ヒント

詳細な PDF の生成例 については、「Sitecore Content Marketing Platform (CMP)™」セクションで確認してください。

印刷テンプレート エンティティの作成

印刷テンプレート エンティティは、エンティティのプロパティとリレーションを使用して PDF ファイルの構造を定義する .cshtml.json、および .css ファイルを含む ZIP パッケージです。

[印刷テンプレート] ページで印刷テンプレート エンティティを作成するには、次の手順に従います。

  1. メイン メニュー バーの [管理] をクリックします。
  2. [管理] ページで、[印刷テンプレート] をクリックします。
  3. [印刷テンプレート] ページで、[新しい印刷テンプレート] をクリックします。
  4. [新しい印刷テンプレート] ダイアログ ボックスで、次のパラメーターを定義します。

    フィールドタイプ説明必須
    名前文字列印刷テンプレートの名前。文字列値はい
    ターゲットの定義ドロップダウン リストPDF ファイルに表示されるエンティティの定義エンティティ定義はい
    カスタム プロパティ文字列PDF ファイルの生成時にユーザーが指定する必要のある追加プロパティです名前とラベルの値いいえ
  5. [作成] をクリックします。

  6. [印刷テンプレートをアップロード] ダイアログ ボックスで、印刷テンプレート パッケージをアップロードします。

[エンティティ] ページの印刷テンプレート エンティティを作成するには、次の手順に従います。

  1. メイン メニュー バーの [管理] をクリックします。
  2. [管理] ページで、[エンティティ] をクリックします。
  3. [エンティティ] ページの [検索] フィールドに Print.EntityGenerationTemplate と入力し、それを選択します。
  4. [印刷テンプレート エンティティ] ページの [新しいエンティティ] プラス アイコン をクリックします。
  5. エンティティの詳細ページで [システム] タブをクリックして、次のパラメーターを定義します。

    フィールドタイプ説明必須
    名前文字列印刷テンプレートの名前。文字列値はい
    ターゲットの定義ドロップダウン リストPDF ファイルに表示されるエンティティの定義エンティティ定義はい
    アセット選択リスト印刷テンプレートの ZIP パッケージZIP ファイルいいえ
    カスタム プロパティ文字列PDF ファイルの生成時にユーザーが指定する必要のある追加プロパティです名前とラベルの値いいえ
  6. エンティティの詳細ページで [テクニカル] タブをクリックして、次のパラメーターを定義します。

    フィールドタイプ説明必須
    識別子文字列印刷テンプレート エンティティの識別子文字列値はい
    セキュリティの継承トグル スイッチ親エンティティからセキュリティ設定を継承しますオン / オフいいえ
注意

[印刷テンプレート] ページおよびエンティティの詳細ページから既存の印刷テンプレート エンティティを編集できます。

印刷エンティティの生成アクションを作成する

印刷テンプレート エンティティの作成後、印刷エンティティの生成アクションは、印刷テンプレートに基づいて PDF ファイルを生成するために使用されます。

印刷エンティティの生成アクションを作成するには、次の手順に従います。

  1. メイン メニュー バーの [管理] をクリックします。
  2. [管理] ページで、[アクション] をクリックします。
  3. [アクション] ページで [新しいアクション] をクリックします。
  4. [新しいアクション] ダイアログ ボックスで、次のパラメーターを定義します。

    フィールドタイプ説明必須
    名前文字列アクションの名前文字列値はい
    ラベル文字列アクションのラベル文字列値いいえ
    タイプドロップダウン リストアクション タイプ[印刷エンティティ生成] を選択はい
    定義ドロップダウン リストPDF 生成のターゲット定義エンティティ定義はい
    テンプレートドロップダウン リストPDF 生成に使用する印刷テンプレート エンティティ印刷テンプレートはい
  5. [保存] をクリックします。

注意

[テンプレート] ドロップダウン リストには、選択したターゲット定義にリンクされている印刷テンプレートが含まれています。

PDF の生成操作を設定する

印刷テンプレート エンティティと印刷エンティティの生成アクションを作成したら、PDF の生成操作を設定する必要があります。この操作を呼び出すと、印刷エンティティの生成アクションがトリガーされ、これにより PDF が生成されます。

任意のページのページ コンポーネントに対して PDF の生成操作を設定できます。次の手順では、アセットの詳細ページで操作をエンティティ操作コンポーネントに追加する方法について詳しく説明しますが、手順は PDF の生成操作をサポートするすべてのページおよびページ コンポーネントで同じです。

PDF の生成操作を追加する

  1. メイン メニュー バーの [管理] をクリックします。
  2. 管理ページで、[ページ] をクリックします。
  3. ページ ポータルで [アセットの詳細] ページを検索して選択します。
  4. [レイアウト] タブをクリックし、次に [エンティティの操作] コンポーネントをクリックして編集します。
  5. [EntityOperations コンポーネント] ページで [操作の追加] をクリックし、次に [PDFの生成] を選択します。
  6. PDF の生成操作の表示設定 を設定します。
  7. 次の操作設定を定義します。

    フィールドタイプ説明必須
    アクション選択リストPDF 生成をトリガーする印刷エンティティの生成アクション印刷エンティティの生成タイプのアクションはい
    高解像度トグル スイッチより高品質な PDF の生成オン / オフいいえ
  8. [保存] をクリックします。

注意

高解像度でのダウンロード オプションが機能するためには、印刷テンプレート パッケージの中の asset.json ファイルに以下も含まれているる必要があります。

"highRes": {
"property": "Renditions",
"rendition": "thumbnail"
}

印刷テンプレート ZIP パッケージの例

このセクションでは、「Module」という名前のエンティティで使用される印刷テンプレート ZIP パッケージの例を示します。このパッケージには、「Feature」という名前の関連エンティティのリストが含まれています。

ZIP パッケージには、次のファイルが含まれています。

  • Module.json - 使用される Module プロパティと、関連するエンティティ (この場合は Feature エンティティ) を指定するメイン ファイル。
  • Module.cshtml - HTML 形式を使用して PDF ファイルで定義された Module プロパティの構造を指定します。このファイルは、他の .cshtml ファイルを参照して、それらを構造内に埋め込むことができます。
  • Feature.cshtml - HTML 形式を使用して PDF ファイルで定義された Feature プロパティの構造を指定します。このファイルは、他の .cshtml ファイルに埋め込むことができます。
  • CSS ファイル: このファイルは .cshtml ファイルに関連する CSS を指定します。

Module json

次のコードは、Module.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 cshtml

次のコードは、Module.cshtml ファイルの例です。

@model Stylelabs.M.Print.EntityGeneration.Models.Model

<html>
<head>
<link rel="stylesheet" href="bootstrap.min.css" />
<link rel="stylesheet" href="styles.css" />
<title>Module specification</title>
</head>
<body>
<div class="top-header">
<img src="/logo.png" class="logo" />
<h5 class="top-title">
@Raw(@Model.Properties["$$TopTitleLabel$$"].FirstOrDefault())
</h5>
</div>
<div class="container-wrapper">
<div class="container">
<div class="row">
<div class="col-xs-8">
<h1>@Raw(@Model.Properties["$$ModuleName$$"].FirstOrDefault())</h1>
<div class="lead">
@Raw(@Model.Properties["$$ModuleDescription$$"].FirstOrDefault())
</div>
</div>
<div class="col-xs-4">
<img src="@(@Model.Properties["$$Preview$$"].FirstOrDefault())" d>
</div>
</div>
</div>
</div>
<div class="container">
<h5>@Raw(@Model.Properties["$$FeaturesLabel$$"].FirstOrDefault())</h5>
<div class="features-wrapper">
@foreach (var feature in @Model.Properties["$$Features$$"]) {
@Raw(feature) }
</div>
</div>
</body>
</html>

Feature cshtml

次のコードは、Feature.cshtml ファイルの例です。

@model Stylelabs.M.Print.EntityGeneration.Models.Model

<h4>
@Raw(@Model.Properties["$$FeatureName$$"].FirstOrDefault()) @*<span
class="type"
>@Raw(@Model.Properties["$$FeatureType$$"].FirstOrDefault())</span
>*@
</h4>
<div class="feature-description">
@Raw(@Model.Properties["$$FeatureDescription$$"].FirstOrDefault())
</div>
この記事を改善するための提案がある場合は、 お知らせください!