証明書のカスタマイズ

証明書は、サイト管理者がダウンロードした標準のインストールを超えてカスタマイズできます。一般に:

  1. これは、サイト管理メニューから追加の画像タイプをアップロードすることによって実行できます。またはcertificate / pixフォルダのいずれかに画像をアップロードすることによって。
  2. 表示されるテキストは、サイト管理で言語をカスタマイズすることによって変更できます。または/ certificate / langファイルを直接編集します。
  3. 証明書の画像とテキストの場所は、証明書タイプのコードを作成/編集することで変更できます。

証明書の例

カスタマイズ

証明書コードは/ mod / certificateフォルダにあります。バックアップ用サブフォルダ、db、lang(言語サブフォルダを保持する)、タイプ(標準の証明書タイプをそれぞれ保持するサブフォルダ)、およびpixがあります。 pixフォルダには、デフォルトの枠線、シール、署名、および透かしのサブフォルダがあります。これらはインストール時に使用され、デフォルトの標準選択になります。その後は使用されません。

画像を追加する

クリエイティブなカスタマイズ例
証明書をカスタマイズする最も簡単な方法は、サイト管理者が罫線、印章、署名、透かし用の独自のJPGまたはPNG画像をインストール時に見つかったデフォルトの画像に追加することです。システム管理者は、サイト管理ブロックの[プラグイン]> [活動]> [証明書]> [画像のアップロード]に移動する必要があります。

新しいファイルが標準画像と同じサイズであることを確認してください。たとえば、標準の署名ファイルは150 x 31ピクセルです。署名ファイルのサイズが異なる場合は、コード行を変更する必要があります。シール、ボーダー、ウォーターマークについても同様です。サンプルシールのサイズは80 x 80ピクセル、サンプル境界は800 x 604または1024 x 831ピクセル、サンプルの透かしは386 x 468または380 x 380ピクセルです。

クリエイティブな例では、カスタム枠、透かし、署名、および印鑑がアップロードされました。すべて初期サイズの証明書のインストール時に提供されたものと同じサイズおよびサイズのファイルです。

フォーマットをカスタマイズ

新しい文字列、新しい位置を持つ新しい型
あなたはカスタムフォーマットを作成するためにあなたのMoodleコードを編集することができる必要があるでしょう。標準の証明書タイプとともにリストに表示される、独自のカスタム証明書タイプを作成することをお勧めします。どちらがカスタム証明書タイプであるかがわかり、アップグレードしても存続します。方法は次のとおりです。

1.証明書/タイプフォルダを1つ選択し、それをコピーして証明書/タイプフォルダに貼り付けます。コピーしたフォルダに新しい名前を付けます。たとえば、/ type / letter_non_embeddedフォルダーをコピーして、名前を「mycertificate」に変更します。

2. certificate / lang / en / certificate.phpファイルを開き、新しいフォルダタイプの名前を追加します。上記の例に従って、追加します。

$ string ['typemycertificate'] = '私の新しい証明書';

これで、コースに証明書を追加すると、新しい種類がドロップダウンリストに「My New Certificate」として表示されます。

ヒント:上記の手順2に示すように適切な文字列を追加する必要があります。そうしないとエラーメッセージが表示され、コードが破損しているように見えます。また、証明書モジュールを更新した場合は、このファイルが新しいバージョンで消去される可能性があることを忘れないでください。
ヒント:以下のセクションでは、証明書タイプファイル内のテキストと画像の位置を変更する方法の例を示します。また、証明書言語ファイルに新しいテキスト文字列を作成する方法についても説明します。

テキストとテキスト位置コードの例を修正する

テキストの位置を変更するには、コードを使用してページ上のx、y位置を設定します。 "x"は左端からの距離、 "y"は上からの距離です。すべての証明書タイプのコードファイルは、さまざまな文字列または画像に対してx、yポイントを定義することから始めます。

これは、同じ場所に位置を設定するいくつかの例です。

certificate_print_text($ pdf、28、183、 'C'、 'Times'、 'B'、20、get_string( 'certifymoodle'、 'certificate')); //これでテキストの先頭が28,183に固定されます。
certificate_print_text($ pdf、$ x、$ y + 55、 'C'、 'Times'、 'I'、20、get_string( 'certifymoodle'、 'certificate')); //これはx文字列($ x = 28)を使用し、y文字列($ y = 128)に55を加算します。
certificate_print_text($ pdf、$ certx、$ certy、 'C'、 'Times'、 ''、20、get_string( 'certifymoodle'、 'certificate')); //これはLandscapeとPortraitsセクションの両方の上部に追加された新しい文字列定義を使用します。

上記の例では、テキストを中央揃えにし、Timesフォントを使用し、bold、italic、noneを使用し、フォントサイズを20に保ちました。

また、certifymoodleという新しいテキスト文字列も作成しました。 /certifcate/lang/en/certificate.phpファイルに、$ string ['certify'] = 'をコピーしました。文字列の行、元の下に貼り付け、それを読むように変更$ string ['certifymoodle'] = 'これはそれを言うことです。テキスト変更のその他の例については、以下のセクションを参照してください。

ヒント:テキストは変わりませんか?あなたはサイト管理言語の設定に行き、キャッシュをオフにしたいかもしれません。これはすべてのユーザーにとってロード時間が遅くなることを忘れないでください。

画像位置コードの変更例

横長モードでpdfを生成するときに、type / letter_non_embedded / certificate.phpファイルにある署名位置を変更します。コードを変更する方法は少なくとも2つあります。 130から100まで、440行から435行まで左に移動したいとします。

  • ファイルの先頭近くには、 "Landscape"用の一連の変数があり、その後に "Portrait"用の別のセットがあります。横長と縦長のコードのいくつかは$ sigxと$ sigyの位置変数を無効にすることができるので、それらは$ sigx = 100と$ sigy = 435となります。
    • あるいは、横長と縦長のコード、この場合は署名ブロックを無効にすることもできます。 "//画像と線の追加"セクションで、横と縦の変数を使用して実際にその位置に印刷されるコードを確認します。
print_signature($のPDF、$証明書、$ sigx、$ sigy、、);

変数を固定数に変更することによって、教師がこのカスタムタイプに対して横長または縦長モードを選択するかどうかは関係ありません。例えば:

print_signature($のPDF、$証明書、100、435、、);

他の人が標準の署名行を追加していない場合は、特定のサイズに修正することをお勧めします。たとえば、画像を150×75ピクセルで印刷するとします。

print_signature($ pdf、$ certificate、$ sigx、$ sigy、 '150'、 '75');

これは他の画像の位置を変える方法についてあなたに良い考えを与えるべきです。


画像の透明度を調整する

PDFを作成するときに透かしとして強い画像を入れて透明度設定を調整することは可能です。印刷要素の前にあるSetAlphaコードを探します。たとえば、 "print_watermark .."行の前には、$ pdf_SetAlpha(0.1)が表示されます。現在は.1に設定されていますが、この例では.3の透明度は低くなっています。

ヒント:古いバージョンの証明書では、透かし画像自体はフォルダに配置される前に淡色表示されていました。カスタムの透かしがある場合は、これが行われた方法です。コードのSetAlphaを1に変更すると、以前のバージョンの証明書と同じように表示されます。

印刷テキストを変更する

言語文字列を変更する方法は2つあります。ベストプラクティスは、サイト管理を介して言語パックをカスタマイズすることです。あなたは、modグループの中にcertificate.phpを見つけるでしょう。以下の方法を使用している場合、すべての証明書ファイルを更新しても、変更内容は保存されません。

変更を失う心配がない場合は、certificate / lang / en / certificate.phpなど、証明書フォルダにある言語ファイルを編集できます。サイトのすべての証明書の一番上にある単語を変更したいとしましょう。

デフォルトの文字列を探します。

$ string ['title'] = '実績の証明書';
'; $ string [' intro '] ='これを証明するためのものです。
$ string ['statement'] = 'コースを修了しました';

それらをreadに変更します(例えば):

$ string ['title'] = 'DIP0LOMA';
'; $ string [' intro '] ='私はそのことを誇りに思います ';
$ string ['statement'] = 'は期末試験に合格しました。

新しいテキスト行を追加する

カスタム証明書タイプをいくつか作成しました。これらの証明書では、いくつかの新しい単語を表示する必要があります。基本的に2つの選択肢があります。新しい文字列を検索するか、文字列を検索する代わりに証明書タイプの単語をハードコードすることもできます。

  • 新しい文字列メソッドを追加します。
    • certificate / lang / en / certificate.phpファイルを開き、新しい文字列を追加して一意の名前を付けます。
'; $ string [' mynewtext '] ='これが証明書に印刷したいものです。
    • 証明書タイプのファイルを開き、文字列参照を変更してください。たとえば、certificate / type / mycertificate / certificate.phpに移動します。ファイルの終わり近くに "// Add Text"があります。これは証明書にテキストを印刷する - あなたが推測している - 領域です。その下に新しいテキストを印刷する現在の行を見つけます。たとえば、コース名の下にテキストを印刷したい場合は、次の行を見つけます。
cert_printtext($ pdf、$ x、$ y、 'C'、 'Helvetica' 、、30、get_string( 'title'、 'certificate'));


3.その下に新しい行を追加して、新しいlang文字列に付けた名前を使用して新しいテキストを印刷します。

cert_printtext($ pdf、$ x、$ y + 25、 'C'、 'Helvetica'、 'B'、10、get_string( 'mynewtext'、 'certificate'));

簡単なレビュー。 mynewtextという文字列を、左から$ y + 25行の$ x位置に開始し、その行をHelvetica型で太字で中央揃え(C、L、R、または '')にする必要があります。フォントサイズは10です。


5.ハードコーディングされたテキスト行を追加できます。たとえば、署名画像の下に署名タイトルブロック行を追加します。

cert_printtext($ pdf、$ sigx、$ sigy + 30 、 'Helvetica'、 'B'、10、 'Martin Dougiamas、Lead Developer');

2ページ目を追加する

最後の空行にこのコードを配置して、証明書に別のページを追加してください。

$ pdf-> AddPage();

次に、2ページ目を作成したいコードを追加します。

たとえば、$ pdf-> Addpage();を配置してから、// Textセクションを最初のページから2番目のページにコピーします。証明書が作成されたときに、2番目のページに透かしや枠は表示されません。

2011年11月の変更

PukunuiAustralia / moodle-mod_certificateバージョン2011110107がこれらのコメントの基礎です。以前のバージョンとは異なる可能性があります。

  • 証明書の標準タイプ用紙サイズと、フォントがPDF文書に埋め込まれているかどうかに基づいて、4つの標準証明書タイプがあります。横向きまたは縦向きの向きは、これらの各タイプ内にあります。これは1.9.xバージョンとは異なります。
  • 文字列を印刷するためのコードが変更されました。プレ2.0と似ていますが、注意してください。

ヒントとコツ

  • 既存の証明書タイプの1つから始めて、それをコピーして変更します。
  • カスタマイズしたコードをローカルホストなどの本番以外のサイトで試してください。
  • Administration >> Serverで、デバッグを最大に設定します(コーディングエラーメッセージを表示するため)。
  • phpファイルを編集モードで開いたままにしておくことはできますが、変更を有効にする前にファイルを保存する必要があります。
  • コードを一度に1つずつ変更し、テストしてから、変更が成功するたびにバックアップします。たとえば、証明書(langファイル)に新しい文字列を追加した後、コースページに移動し、証明書をクリックしてリストに表示されるかどうかを確認します。
  • コードを破った場合、証明書のための空白の画面が表示されることがあります。
    • そのため、次の変更を開始する前に、成功した各変更をバックアップすることをお勧めします。たとえば、3番目のコード変更の後、certificate.phpをcertificate3.txtとして保存します。
  • 証明書アイコンの場所 - 独自のテーマを使用している場合は、icon.gifをcertificateというフォルダ内に置き、modフォルダの画像に入れる必要があります。たとえば、テーマがカスタムアイコンを使用している場合は、証明書icon.gifを含む証明書フォルダをtheme / pix / modフォルダの下に置く必要があります。
  • /certificate/lang/en/certificate.phpファイルではなく、言語パックを編集することを検討してください。これを行うには、設定>サイト管理>言語>言語のカスタマイズメニューを使用します。 mod / certificate.phpを探してください。それからあなたがあなたの証明書を更新し、それが言語であるとき、それは標準的な文字列のためにあなたの変更を保持します。
  • コードを編集しなくても、グラフィックプログラムを使用して、「境界」画像の中央の空白部分を編集して、より大きな画像、より多くの画像、および複数の署名行を含む証明書の「背景」を作成できます。これは、一連のコースがすべて同じ基本証明書レイアウトを必要とする場合に便利です。設計オプションの下で正しい「国境の画像」を選択してください。
  • 証明書のタイトルとしてトピックセクションの見出しを使用します。コードの調整については、証明書フォーラムを参照してください。
  • あなたのイメージは伸びていますか?キャンバスの両側に空白を追加します。たとえば、wmarkwおよびwmarkhコード変数で定義されているのと同じ幅/高さの比率を作成するには、空白を追加します。

関連情報