Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

DataMergeParams.h

Go to the documentation of this file.
00001 /**
00002 * @file         DataMergeParams.h
00003 * @brief    差し込み印刷の編集オプションクラス
00004 *
00005 * @author   Nakashima h
00006 * @date     2021-10-06
00007 *
00008 * $Id: DataMergeParams.h 32 2022-07-14 03:20:43Z shingo.yoneda $
00009 *
00010 * Copyright (c) 2020-2022 Antenna House, Inc. All rights reserved.
00011 */
00012 
00013 #pragma once
00014 #include <string>
00015 
00016 /**
00017 * @brief    差し込み印刷で共通のオプション
00018 */
00019 struct CommonOption {
00020     /**
00021     * @brief    出力ファイル名の文字列の追加位置
00022     */
00023     enum AddingStrPlacePattern {
00024         /**
00025         * @brief    出力ファイル名の先頭に追加(デフォルト)
00026         */
00027         Head,
00028         /**
00029         * @brief    出力ファイル名の末尾に追加
00030         */
00031         Tail
00032     };
00033 
00034     /**
00035     * @brief    セルへの差し込みがセル幅をオーバーした際の制御
00036     */
00037     enum CellStrOverflowRule {
00038         /**
00039         * @brief    改行(デフォルト)
00040         */
00041         Normal,
00042         /**
00043         * @brief    フォントサイズを変更
00044         */
00045         FontSizeChange,
00046         /**
00047         * @brief    超過分を削除
00048         */
00049         CutExcess,
00050         /**
00051         * @brief    埋め文字へ変更
00052         */
00053         Padding
00054     };
00055 
00056     /**
00057     * @brief    差し込み印刷データのファイルフォーマット
00058     */
00059     enum DataType {
00060         CSV,
00061         JSON
00062     };
00063 
00064     /**
00065     * @brief    差し込み印刷データのエンコード
00066     */
00067     enum DataFileEncoding {
00068         /**
00069         * @brief    Shift_JIS
00070         */
00071         SJIS,
00072         /**
00073         * @brief    UTF-8
00074         */
00075         UTF8
00076     };
00077 };
00078 
00079 /**
00080 * @brief    シンプル版のオプション
00081 */
00082 struct SimpleTypeOption {
00083     /**
00084     * @brief    差し込み印刷の複数レコードの差し込み印刷データの際の出力方法
00085     */
00086     enum OutputMode {
00087         /**
00088         * @brief    1つのファイルを出力(デフォルト)
00089         */
00090         Single,
00091         /**
00092         * @brief    レコード毎にファイルを出力
00093         */
00094         PerData
00095     };
00096 };
00097 
00098 /**
00099 * @brief    複合版のオプション
00100 */
00101 struct CompoundTypeOption {
00102     /**
00103     * @brief    明細部の行数パターン
00104     */
00105     enum RepeatingRowsPattern {
00106         /**
00107         * @brief    行数固定(デフォルト)
00108         */
00109         Fixed,
00110         /**
00111         * @brief    行数可変
00112         */
00113         Variable
00114     };
00115 
00116     /**
00117     * @brief    行数固定の明細表が複数ページに渡る場合のスタイル
00118     */
00119     enum MultiplePagesStyle {
00120         /**
00121         * @brief    本文領域全体を複製(デフォルト)
00122         */
00123         RepeatTemplate,
00124         /**
00125         * @brief    明細表の繰り返し
00126         */
00127         RepeatDetail
00128     };
00129 
00130     /**
00131     * @brief    行数固定のフッター部分の編集ルール
00132     */
00133     enum DeletingFooterRule {
00134         /**
00135         * @brief    編集を行わない(デフォルト)
00136         */
00137         LeaveAll,
00138         /**
00139         * @brief    フッター部分をすべて削除
00140         */
00141         DeleteAll,
00142         /**
00143         * @brief    フィールドを残す
00144         */
00145         LeaveFld
00146     };
00147 };
00148 
00149 /**
00150 * @brief    ネスト構造のテーブル版のオプション
00151 */
00152 struct NestedTableTypeOption {
00153     /**
00154     * @brief    ネスト構造のテーブルの幅
00155     */
00156     enum DetailTableType {
00157         /**
00158         * @brief    最小のカラム幅(デフォルト)
00159         */
00160         FixedMinimum,
00161         /**
00162         * @brief    均等なカラム幅[\%]
00163         */
00164         DividedPct,
00165         /**
00166         * @brief    均等なカラム幅
00167         */
00168         DividedDxa
00169     };
00170 };
00171 
00172 /**
00173 * @brief    入力パラメータ
00174 */
00175 struct InputParam {
00176     /**
00177     * @brief    差し込み印刷対象のテンプレートファイルのパス
00178     */
00179     std::string m_input_file_path;
00180     /**
00181     * @brief    差し込み印刷画像のディレクトリのパス
00182     */
00183     std::string m_input_image_dir = "";
00184 
00185     /**
00186     * @brief    セルへの差し込みがセル幅をオーバーした際の制御
00187     */
00188     CommonOption::CellStrOverflowRule m_cell_str_overflow_rule = CommonOption::CellStrOverflowRule::Normal;
00189     /**
00190     * @brief    セルへの差し込みがセル幅をオーバーした際に埋める文字
00191     */
00192     std::string m_padding_string = "#";
00193 
00194     /**
00195     * @brief    差し込み印刷の実行者
00196     */
00197     std::string m_executor = "";
00198 };
00199 
00200 /**
00201 * @brief    出力パラメータ
00202 */
00203 struct OutputParam {
00204     /**
00205     * @brief    出力するファイルのパス
00206     */
00207     std::string m_output_file_path;
00208 
00209     /**
00210     * @brief    出力ファイル名への追加する文字の位置
00211     */
00212     CommonOption::AddingStrPlacePattern m_adding_str_place_pattern = CommonOption::AddingStrPlacePattern::Head;
00213 
00214     /**
00215     * @brief    出力ファイルに追加するデータに対応するカラム名
00216     */
00217     std::string m_file_add_column;
00218 };

Generated on 19 Jan 2023 for Word API C/C++ Interface by Doxygen 1.3-rc2