アセット
アセットのアップロード
ロゴ、署名、フォントは一度アップロードし、その後はIDで参照します。リクエストはmultipart形式で、ファイルはfileというフィールドに指定し、altTextは任意です。
curl -X POST https://api.pdfgine.com/api/v1/assets \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-F "file=@logo.png" \
-F "altText=会社のロゴ"
{
"assetId": "ast_985f87e2b22d486db2d6d8bacd29288e",
"fileName": "logo.png",
"contentType": "image/png",
"length": 20184,
"altText": "会社のロゴ",
"createdAt": "2026-09-26T15:29:44.8420041+00:00",
"expiresAt": null,
"fontEmbedding": null
}
種類は、送信されたContent-Typeではなく、ファイルの先頭のバイト列から判定します。実際にはPDFである.pngファイルは拒否されます。PNG、JPEG、WebP、TTF、OTFに対応し、1ファイルあたり最大10 MBです。
ドキュメントでの使用
テンプレートが画像を要求する場所に、IDを送信してください。同じフィールドはdata: URIも受け付けますが、アップロード済みのアセットは転送量が少なく、再利用できます。
curl -X POST https://api.pdfgine.com/api/v1/render \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateCode": "invoice",
"format": "pdf",
"data": { "logo": "ast_985f87e2b22d486db2d6d8bacd29288e" }
}'
一時アセット、一覧取得、削除
1つのドキュメントにだけ必要な画像は、手動で削除する必要がありません。expiresInMinutesに1~10080(7日間)を指定すると、アセットは自動で削除されます。
curl -X POST https://api.pdfgine.com/api/v1/assets \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-F "file=@signature.png" \
-F "expiresInMinutes=60"
# 一覧取得、1つのアセットの内容取得、削除
curl https://api.pdfgine.com/api/v1/assets -H "X-PDFgine-Key: $PDFGINE_KEY"
curl https://api.pdfgine.com/api/v1/assets/ast_985f87e2b22d486db2d6d8bacd29288e/content \
-H "X-PDFgine-Key: $PDFGINE_KEY" -o logo.png
curl -X DELETE https://api.pdfgine.com/api/v1/assets/ast_985f87e2b22d486db2d6d8bacd29288e \
-H "X-PDFgine-Key: $PDFGINE_KEY"
フォントと埋め込みの許可
フォントファイルは、fsTypeビットでドキュメントに許可する利用方法を指定しています。PDFgineはアップロード時にこれを読み取り、fontEmbeddingを返すため、ドキュメントを開いた後ではなく、生成前に埋め込みの可否を確認できます。
fontEmbedding |
ドキュメントで許可される利用方法 |
|---|---|
installable | 制限なし。PDFとWordの両方に埋め込まれます。 |
editable | PDFとWordの両方に埋め込まれます。 |
preview-print | PDFには埋め込まれます。Word文書は編集できるため、Wordには埋め込まず、Word側でフォントを置き換えます。 |
restricted | どこにも埋め込まれません。ドキュメントは生成され、代わりに閲覧者側のフォントが使用されます。 |
bitmap-only | ビットマップの埋め込みのみが許可されていますが、ドキュメントでは利用できないため、埋め込まれません。 |
unstated | ファイルに許可が指定されていません。OpenType仕様に従い、埋め込み可能として扱います。 |
WOFFとWOFF2はアップロード時に拒否されます。Word文書には埋め込めないため、同じテンプレートでもPDFでは正しく、Wordでは誤って表示されることになり、送付後にしか違いに気づけないためです。
組み込みフォント
これらのフォントファミリーは製品に含まれています。style.fontFamilyとpage.defaultFontに名前を指定して使用してください。同じ書体がPDF、Word、エディターで使用されます。指定のウェイトがなくても拒否されず、最も近い書体で出力されます。
| フォントファミリー | グループ | ウェイト | 対応文字体系 |
|---|---|---|---|
Inter |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Roboto |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Montserrat |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, cyrillic, vietnamese |
Poppins |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin |
DM Sans |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin |
Nunito |
sans |
200, 300, 400, 500, 600, 700, 800, 900 | latin, cyrillic, vietnamese |
Manrope |
sans |
200, 300, 400, 500, 600, 700, 800 | latin, greek, cyrillic, vietnamese |
Noto Sans |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Plus Jakarta Sans |
sans |
200, 300, 400, 500, 600, 700, 800 | latin, vietnamese |
Work Sans |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, vietnamese |
Roboto Condensed |
condensed |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Oswald |
condensed |
200, 300, 400, 500, 600, 700 | latin, latin-ext, cyrillic, vietnamese |
Noto Serif |
serif |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
EB Garamond |
serif |
400, 500, 600, 700, 800 | latin, latin-ext, greek, cyrillic, vietnamese |
Newsreader |
serif |
200, 300, 400, 500, 600, 700, 800 | latin, vietnamese |
Literata |
serif |
200, 300, 400, 500, 600, 700, 800, 900 | latin, greek, cyrillic, vietnamese |
Tinos |
serif |
400, 700 | latin, latin-ext, greek, cyrillic, vietnamese |
Rokkitt |
serif |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, vietnamese |
Inconsolata |
mono |
200, 300, 400, 500, 600, 700, 800, 900 | latin, vietnamese |
Noto Sans Mono |
mono |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Arial |
system |
400, 700 | |
Georgia |
system |
400, 700 |
アップロードが拒否された場合
拒否される場合はすべて400で応答し、errors.fileに理由を含めます。この文には対処方法が記載されているため、アップロードしたユーザーにそのまま表示してください。
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"file": ["Word出力で使用できるように、TTFまたはOTFフォントをアップロードしてください。WOFFとWOFF2ファイルをWordドキュメントに埋め込むことはできません。"]
},
"correlationId": "505aac87e234a7b4669e6203ac7ffcd5"
}
よくある問題
- 種類はファイル名ではなく、先頭のバイト列から判定されます。PDFを.pngに改名しても画像にはならず、アップロードは拒否されます。
- WOFFとWOFF2は意図的に拒否されます。Wordに埋め込めず、同じテンプレートでもPDFでは正しく、Wordでは誤って表示されるためです。TTFまたはOTFをアップロードしてください。
- アップロードのレスポンスにはfontEmbeddingが含まれます。無視すると、ドキュメントの送付後にフォントの置き換えに気づくことになります。
- data: URIはリクエストのたびに送信されます。すべてのドキュメントに表示するロゴなら、一度アップロードし、IDを送信してください。
- 1つのドキュメントに必要な画像は、手動で削除する必要がありません。expiresInMinutesを指定すれば、自動で削除されます。