[おしらせ]このBLOGは更新を終了しています。

何かあれば
この記事にコメントをつけてください。
定期的に投稿しないと削除されてしまうのでメンテナンスの投稿はたまにあります

| | コメント (4)

【保存版】意外と知らないPDF「超」活用、9つのテクニック

100353

https://blog.adobe.com/jp/publish/2021/05/17/dc-pdf-technique.html
いい事ばかりじゃないけどね

|

[Acrobat]対象のPDFをAcrobatで開くようにさせる(その4:文書のアクション)

[Acrobat]対象のPDFをAcrobatで開くようにさせる(その1)
[Acrobat]対象のPDFをAcrobatで開くようにさせる(その2:フォームの全画面配置)
[Acrobat]対象のPDFをAcrobatで開くようにさせる(その3:レイヤの制御)

要点は『コンテンツを隠す』事で、
特定の環境での閲覧を制限する事が出来る…を4回にわけましたが
Acrobat以外で開いた時は表示させない
逆に
デスクトップに保存してAcrobatで表示させたくない
なんて時の参考になるかな?と

レイヤでの制御で
レイヤを『表示』『非表示』を切り替える制御でした。
あとはその2でやった『起動時の設定』と『環境での切り分け』を記述すれば完成です。

ダウンロード - sampleb.pdf

ダウンロード - sampleb.pdf.js.txt




文書のアクションで
閉じる時
保存する時
印刷する時 に それぞれレイヤをONにしておけば
コンテンツを印刷出来ないPDFなんてのも出来ます。
(印刷時に期待値通りの動作をしない場合が多いのでお勧めしません)
(まぁセキュリティ設定すれば良いわけだけど…笑)
Screencapture_20210516_18_39_22


スクリーンキャプチャを取らせない方法と一緒で
今回の方法も『絶対』じゃないので
一般的なスキルの方を対象にAcrobatでフォームを…
なんて時に有効ですので参考にしてください

|

[Acrobat]対象のPDFをAcrobatで開くようにさせる(その3:レイヤの制御)

元データはこんな感じの10ページ

Screencapture-20210516-153404

ダウンロード - sample.pdf




レイヤを利用する場合
Screencapture_20210516_17_08_59
サンプルでは全ページ同じ『Curtains』って名前で設定しています
レイヤのON OFFは
Screencapture_20210516_17_11_57

OCGオブジェクトとして取得できます
var OCGlayers = this.getOCGs();
プロパティは
initState
locked
name
stateになりますの
OCGlayers[i].initState;
OCGlayers[i].locked;
OCGlayers[i].name;
OCGlayers[i].state; てな感じで取得します。

initState
デフォルトの状態のこと true =onでオンで表示 false=OFFでオフで非表示 OCGlayers[i].initState = true; か OCGlayers[i].initState = false ;
locked
OCGlayers[i].locked = true; か OCGlayers[i].locked = false ;
trueでレイヤロック falseでレイヤロック解除
name
console.println(OCGlayersName); でテキストとして取得
OCGlayers[i].state = "レイヤ名"; でレイヤの名前を設定
state
OCGlayers[i].state = true; か OCGlayers[i].state = false ;
trueでレイヤ表示 falseでレイヤ非表示

ここまで、レイヤの制御の部分のサンプル
Screencapture-20210516-174652

フォームのボタンに記述していますので
サンプルコードはこちらでみてください

ダウンロード - samplec.pdf


つづく

|

[Acrobat]対象のPDFをAcrobatで開くようにさせる(その2:フォームの全画面配置)

元データはこんな感じの10ページ

Screencapture-20210516-153404

ダウンロード - sample.pdf




フォームを利用する場合
Screencapture_20210516_15_36_44

各ページに『ボタン』か『テキスト』で塗り色白で『全面サイズ』でフォームオブジェクトを配置
名前は任意で1ページ目で作ったフォームオブジェクトを、各ページにコピーします。
重要なのは、『名前が同じ』である事


フォームオブジェクトの配置が終わったら
スクリプトを記述します。
1:文書レベル(ドキュメントレベル)のスクリプトを1つ記述します。
2:ファイルを開いた時に動作するようにします。

文書レベルのスクリプトを1つ作ります
112

開いた時に実行されるようにします 122


起動時の動作は後にして
文書レベルのスクリプトで
コンテンツを『見せる』場合と『隠す』場合のそれぞれの処理を記述します。
見せる場合
Miseru
隠す場合
Kakusu


Screencapture-20210516-160031

function CurtainClose()
{
////コンテンツを隠す
this.getField("Curtains").display = 0;
this.getField("Thumbnail").display = 0;
}

function CurtainOpen()
{
////コンテンツを見せる
this.getField("Curtains").display = 1;
this.getField("Thumbnail").display = 1;
}

起動時に実行されるintに条件入れて、見せる、見せないの分岐
Screencapture-20210516-163724

function int()
{
if( app.viewerVersion <= 10 ) {
CurtainClose();
} else {
CurtainOpen();
}
if( app.viewerType == "Reader" ) {
CurtainOpen();
} else if( app.viewerType == "Exchange" ) {
CurtainOpen();
} else if( app.viewerType == "Exchange-Pro" ) {
CurtainOpen();
} else {
CurtainClose();
}
}
int();


出来上がりです。
クロームやプレビューで『ページパネル』にサムネイルが表示されてしまいますので
コンテンツを必ず隠す事は出来ないが、Acrobatで表示してね?に誘導するには充分でしょう。

ダウンロード - samplea.pdf


ダウンロード - samplea.pdf.js.txt

|

[Acrobat]対象のPDFをAcrobatで開くようにさせる(その1)

対象のPDFをブラウザやプレビュー等で開いた場合に
コンテンツを見せないようにする。
Acrobatで開いた場合は、コンテンツを見せる。
2通り考えました。


エッジ
1_20210516145001
クローム
2_20210516145001
サファリ
3_20210516145001
ファイヤーフォックス
4_20210516145001
プレビュー
5
こんな感じで表示させない処理をします。


考えた方法2通りは
1:フォームを使う
2:レイヤーを使う この2通り

1:フォームを使う
Screencapture_20210516_13_44_44

2:レイヤーを使う
Screencapture_20210516_13_43_21

両方とも『白』いオブジェクトを前面で出して
コンテンツを隠します。
Acrobatで開いたらコンテンツを見せればOK


問題点が2点
1:フォームを使う→サムネイルページで内容が見れてしまう
2:レイヤーを使う→サムネイルページで内容が見れない

1:フォームを使う クロームやプレビューでページパネル内にサムネイル表示されてしまう。
Screencapture_20210516_15_01_14

2:レイヤーを使う アクロバットで開いた時にページパネルのサムネイルが非表示のままになってしまう。
Screencapture_20210516_15_00_57

現時点では1長1短ですが
目的である『コンテンツを見せない』って意味だと『レイヤで隠す』が良いか?と思います
続く

|

[WEB APP]文字数カウント

文字数カウント
使える事あるかも
https://rakko.tools/tools/1/

Screen-capture-20210515-114943

|

【Acrobat js】app.trustedFunction

[Acrobat]新規空白ページを追加するLINK
こちらの記事にツッコミが…

1:フォルダレベルのスクリプトにtrustedFunctionとしてのthis.newPageを記述
2:PDFフォームからフォルダレベルのtrustedFunctionを呼び出して
3:空白ページを追加する

出来るでしょって…まぁそうなんだけど…
このBLOG誰も見てないって…笑

要はこんな感じ
Apptrustedfunction_1029x477

フォルダレベルのスクリプトを作ります
サンプルは『libNewPage.js』LINK
Apptrustedfunction_586x646
Apptrustedfunction_533x383
PDFフォームはこんな感じLINK
Apptrustedfunction_604x373
フォームのスクリプトは
trustedFncAddNewPage(0,360, 360);
trustedFncAddNewPage(挿入場所,幅px, 縦px);

フォームから直接実行できない『trustedFunction』が必要なプロパティは
フォルダレベルのスクリプトとして、予めインストールしておく事で実行できる。
つーわけです。
『よく使う処理』をフォルダレベルで記述しておけば
フォームだろうと、メニューだろうと呼び出せるメリットがありますが
ファイルをあらかじめインストールしておく必要が足かせです。
(セキュリティ的にはいい事なのはわかりますが…)

こんな説明で良いですか…笑

AppleScriptsからも呼び出せるのはメリットです
Screen-capture-20210515-121450

|

[macOS10.15]hibernatemode ハイバネートモード

Manの内容
hibernatemode = 0 by default on desktops. The system will not back memory
up to persistent storage. The system must wake from the contents of mem-

ory; the system will lose context on power loss. This is, historically, plain old sleep.

hibernatemode = 3 by default on portables. The system will store a copy
of memory to persistent storage (the disk), and will power memory during
sleep. The system will wake from memory, unless a power loss forces it to
restore from hibernate image.

hibernatemode = 25 is only settable via pmset. The system will store a
copy of memory to persistent storage (the disk), and will remove power to
memory. The system will restore from disk image. If you want "hiberna-
tion" - slower sleeps, slower wakes, and better battery life, you should
use this setting.




デスクトップは0推奨
ノートは3推奨
メモリ内容をデイスクに書き出し電源断する25
バッテリーが厳しくなってきた機器の場合は25が良いでしょう
hibernatemode = 0
/usr/bin/sudo /usr/bin/pmset -a hibernatemode 0

hibernatemode = 3
/usr/bin/sudo /usr/bin/pmset -a hibernatemode 25"

hibernatemode = 25
/usr/bin/sudo /usr/bin/pmset -a hibernatemode 25

設定内容を確認するには
/usr/bin/pmset -g

|

FontXChange PSフォントをOTFに変換

許諾的に問題あるので、コンプライアンス的にはナニだけど 準備しておいた方が良いのかなぁ FontXChange https://fontgear.com/products/fontxchange-for-macintosh Fxcwindow1_1024x10242xwebp

|

[Acrobat]新規空白ページを追加する

Acrobatで新規空白ページを追加する。
1:ページパネルを利用する(挿入)
2:アクションを利用する(JavaScript)
3:アドオンを利用する(JavaScript)
4:メニュー項目を利用する(JavaScript)




1:ページパネルを利用する(挿入)


 


B




2:アクションを利用する(JavaScript)


 


C


 


ダウンロード - action.zip




3:アドオンを利用する(JavaScript)


 


A


 


ダウンロード - addnewpageaddon.js.zip


 


 




4:メニュー項目を利用する(JavaScript)


 


D


 


ダウンロード - addnewpage.js.zip


 


 




▼JavaScriptでのポイント
アクションはAPI Referenceに記載されている形で動作する
var Rect = this.getPageBox("Crop");
this.newPage(0, Rect[2], Rect[1]);
メニューやアドインでJavascriptからページを追加する場合は
trustedFunctionが必須


https://github.com/force4u/AddNewPage.js


↑にある
3:アドオンを利用する(JavaScript)
4:メニュー項目を利用する(JavaScript)のスクリプトを編集する場合は
UTF-16で保存する必要があります。

|

«[Acrobat AppleScripts]アプリケーションの画面サイズ