10-15 墨消し機能(データの削除)

概要:

墨消し機能の基礎

//入力PDFの取得は「PDFを開く」を参照
//ページコンテナ・ページ取得は「ページ情報を操作する」を参照
PtlParamSetMask paramSetMask = new PtlParamSetMask();       //マスク処理のパラメータ用クラス
PtlRect rectMask = new PtlRect(left, bottom, right, top);   //マスクの矩形

paramSetMask.appendRect(rectMask);      //マスクの矩形を指定
page.setMask(paramSetMask);             //マスクをページに設定
// 出力PDFの保存は「PDFの保存」を参照

墨消し箇所の見た目を設定する

//入力PDFの取得は「PDFを開く」を参照
//ページコンテナ・ページ取得は「ページ情報を操作する」を参照
//マスク用パラメータparamSetMaskの取得は「マスク機能の基礎」を参照
PtlColorDeviceRGB colorRGB = new PtlColorDeviceRGB(red, green, blue);   //マスクの色
paramSetMask.setMaskColor(colorRGB);            //マスクの色を設定
paramSetMask.setOpacity(opacity);               //マスクの不透明度を設定

//マスク範囲の指定、マスクの適用は「マスク機能の基礎」を参照
// 出力PDFの保存は「PDFの保存」を参照

墨消し箇所の削除対象

//入力PDFの取得は「PDFを開く」を参照
//ページコンテナ・ページ取得は「ページ情報を操作する」を参照
//マスク用パラメータparamSetMaskの取得は「マスク機能の基礎」を参照
paramSetMask.setRemoveElement(PtlParamSetMask.REMOVE_TEXT);

//マスク範囲の指定、マスクの適用は「マスク機能の基礎」を参照
// 出力PDFの保存は「PDFの保存」を参照

本例はテキストを指定した場合

フラグによる論理和で複数種類を同時に指定することも可能

int removeElement = PtlParamSetMask.REMOVE_NONE;    //フラグ用変数
//フラグにテキストと画像を同時指定する
removeElement = removeElement | PtlParamSetMask.REMOVE_TEXT;
removeElement = removeElement | PtlParamSetMask.REMOVE_IMAGE;

paramSetMask.setRemoveElement(removeElement);       //削除対象をフラグで指定する

テキストに関しては、矩形とどの程度重なっていたら削除するのかをoverlapRatioで指定できる

paramSetMask.setRemoveElement(PtlParamSetMask.REMOVE_TEXT); //削除対象をテキストに指定
paramSetMask.setTextOverlapRatio(overlapRatio);             //削除する重なり具合を指定

テキスト検索をして墨消し処理をする

「文字列検索」の項の「文字列検索をした部分に墨消しをして削除する」を参照してください。

参考:

マスク機能

・マスク機能の基礎

・マスクの見た目を設定する

『PDF CookBook(第3巻)3.1.1 マスクの色』

https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0031.html

・マスクの見た目を設定する

『PDF CookBook(第3巻)3.1.1 マスクの色』

https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0031.html

『PDF CookBook(第3巻)3.1.2 マスクの不透明度』

https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0032.html

・マスクの削除対象

『PDF CookBook(第3巻)3.2.1 テキスト:矩形内の文字を削除』

https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0034.html

『PDF CookBook(第3巻)3.2.3 画像:矩形内の画像データを部分削除』

https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0036.html

『PDF CookBook(第3巻)3.2.4 図形:矩形内にパスデータ全体が含まれる場合に削除』

https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0037.html

『PDF CookBook(第3巻)3.2.2 テキスト:削除時オプションの指定』

https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0035.html

・テキスト検索をしてマスク処理をする

『PDF CookBook(第3巻)3.3.1 テキスト検索とマスク処理の組み合わせ』

https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0039.html

Please enter alt text.