クラス AbstractPdfStamperView
java.lang.ObjectSE
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.view.AbstractView
org.springframework.web.servlet.view.AbstractUrlBasedView
org.springframework.web.servlet.view.document.AbstractPdfStamperView
- 実装されているすべてのインターフェース:
Aware, BeanNameAware, InitializingBean, ApplicationContextAware, ServletContextAware, View
@DeprecatedSE(since="7.0",
forRemoval=true)
public abstract class AbstractPdfStamperView
extends AbstractUrlBasedView
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
AcroForm を使用して既存のドキュメントを操作する PDF ビューの抽象スーパークラス。アプリケーション固有のビュークラスは、このクラスを継承して PDF フォームをモデルデータとマージします。
このビューの実装では、Bruno Lowagie の iText API を使用します。オリジナルの iText 2.1.7 とそのフォークである OpenPDF で動作することが知られています。OpenPDF は積極的にメンテナンスされており、信頼できない PDF コンテンツに対する重要な脆弱性を修正しているため、強くお勧めします。
提案と元のプロトタイプを提供してくれた Bryant Larsen に感謝します。
- 導入:
- 2.5.4
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドのサマリー
クラス AbstractView から継承されたフィールド
DEFAULT_CONTENT_TYPEクラス ApplicationObjectSupport から継承されたフィールド
loggerインターフェース View から継承されたフィールド
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPEコンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明protected boolean非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。このビューがダウンロードコンテンツ(通常は PDF ファイルや Excel ファイルなどのバイナリコンテンツ)を生成するかどうかを返します。protected abstract voidmergePdfDocument(MapSE<StringSE, ObjectSE> model, com.lowagie.text.pdf.PdfStamper stamper, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。PDF フォームを特定のモデルデータとマージするには、サブクラスがこのメソッドを実装する必要があります。protected com.lowagie.text.pdf.PdfReader非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。生の PDF リソースを iText PdfReader に読み込みます。protected final voidrenderMergedOutputModel(MapSE<StringSE, ObjectSE> model, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。クラス AbstractUrlBasedView から継承されたメソッド
afterPropertiesSet, checkResource, getUrl, isUrlRequired, setUrl, toStringクラス AbstractView から継承されたメソッド
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, formatViewName, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getRequestToExpose, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setRequestContextAttribute, setResponseContentType, writeToResponseクラス WebApplicationObjectSupport から継承されたメソッド
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
コンストラクターの詳細
AbstractPdfStamperView
public AbstractPdfStamperView()非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
メソッドの詳細
generatesDownloadContent
protected boolean generatesDownloadContent()非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。クラスからコピーされた説明:AbstractViewこのビューがダウンロードコンテンツ(通常は PDF ファイルや Excel ファイルなどのバイナリコンテンツ)を生成するかどうかを返します。デフォルトの実装は
falseを返します。通常、レスポンス OutputStream を介して、クライアント側で一時キャッシュを必要とするダウンロードコンテンツを生成していることがわかっている場合、サブクラスはここでtrueを返すことが推奨されます。- オーバーライド:
- クラス
AbstractViewのgeneratesDownloadContent - 関連事項:
renderMergedOutputModel
protected final void renderMergedOutputModel(MapSE<StringSE, ObjectSE> model, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws ExceptionSE非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。クラスからコピーされた説明:AbstractViewビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。最初のステップは、リクエストの準備です。JSP の場合、これはモデルオブジェクトをリクエスト属性として設定することを意味します。2 番目のステップは、たとえば RequestDispatcher を介した JSP を含む、実際のビューのレンダリングです。
- 次で指定:
- クラス
AbstractViewのrenderMergedOutputModel - パラメーター:
model- 静的な属性よりも動的な値が優先される、結合された出力マップ(非null)request- 現在の HTTP リクエストresponse- 現在の HTTP レスポンス- 例外:
ExceptionSE- レンダリングに失敗した場合
readPdfResource
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。生の PDF リソースを iText PdfReader に読み込みます。デフォルトの実装では、指定された "url" プロパティを ApplicationContext リソースとして解決します。
- 戻り値:
- PdfReader インスタンス
- 例外:
IOExceptionSE- リソースへのアクセスに失敗した場合- 関連事項:
mergePdfDocument
protected abstract void mergePdfDocument(MapSE<StringSE, ObjectSE> model, com.lowagie.text.pdf.PdfStamper stamper, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws ExceptionSE非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。PDF フォームを特定のモデルデータとマージするには、サブクラスがこのメソッドを実装する必要があります。これは、AcroForm で値を設定できる場所です。このレベルで実行できることの例は次のとおりです。
// get the form from the document AcroFields form = stamper.getAcroFields(); // set some values on the form form.setField("field1", "value1"); form.setField("field2", "value2"); // set the disposition and filename response.setHeader("Content-disposition", "attachment; FILENAME=someName.pdf");渡された HTTP レスポンスは、Cookie またはその他の HTTP ヘッダーを設定するために使用されることに注意してください。ビルドされた PDF ドキュメント自体は、このメソッドが返された後、自動的にレスポンスに書き込まれます。
- パラメーター:
model- モデルマップstamper- AcroFields を含む PdfStamper インスタンス。この PdfStamper インスタンスは、必要に応じてカスタマイズすることもできます (たとえば、"formFlattening" プロパティを設定する)。request- ロケールなどが必要な場合に備えて。属性を見てはいけません。response- クッキーを設定する必要がある場合に備えて。書いてはいけません。- 例外:
ExceptionSE- ドキュメントの構築中に発生した例外
Viewクラスを提供したり、Web ハンドラーで直接レンダリングを実行したりできます。