Acrobat Stamps

【注釈・アノテーション】電子印鑑・ハンコ(スタンプ)で名前等の表示のトラブル時の対応

1:環境設定>アドビオンラインサービス>設定の同期の停止
2:環境設定>ユーザー情報の設定
3:環境設定>セキュリティ(拡張)
4:環境設定>注釈の設定
5:環境設定>Javascriptの設定
6:フォントの設定
7:テキストの色の確認


1:環境設定>アドビオンラインサービス>設定の同期の停止
環境設定>アドビオンラインサービス>設定の同期>デバイスおよびドキュメントサービス間で環境設定を同期

停止します。
項目2のユーザー情報が同期データの対象になっていますので
Acrobatの23で異データが混入する不具合の後
設定のクリーニングをしていない人は正しく値が反映されないケースがあります

20241025065547_1844x1074

2:環境設定>ユーザー情報の設定
項番1の同期の停止を行ってから必ず実施してください
異データが表示されていないだけの可能性もあります
不具合発生時は面倒での入力しなおしてください
20241025064832_1588x1074


3:環境設定>セキュリティ(拡張)
企業での利用の場合は管理者の指示に従ってください
個人の場合は拡張OFFでも問題ありません
20241025064819_1862x1256

4:環境設定>注釈の設定
基本的には注釈の設定とスタンプの印字には関連はありませんが
自分の設定があっているのか?確認はしてください
20241025065227_1588x1286


5:環境設定>Javascriptの設定
Acrobatの電子印鑑・ハンコ(スタンプ)に自動で入力される機能は
Javascriptの機能を利用しています

このスタンプに関してのみJavascriptがOFFでも機能するようになっています
Javascriptの機能のOFFーONをして
Javascriptの起動に生成されるキャッシュの再生成を行ってみてください

20241025064744_1704x1074

Javascriptのキャッシュを自分で削除する場合
Windowsの場合
C:\Users\ユーザーID\AppData\Roaming\Adobe\Acrobat\DC\JSCache
Macの場合
/Users/ユーザーID/Library/Application\ Support/Adobe/Acrobat/DC/JSCache
にある
GlobSettings
GlobData
の両方のファイルごゴミ箱に入れて『削除』し
次回のAcrobatの起動してからの終了時にキャッシュが生成されます


6:フォントの設定
Acrobatにデフォルトでインストールされている
印鑑ハンコのスタンプにはフォントの設定がされています
小塚明朝 Pr6N (KozMinPr6N-Regular)
そのため、このフォントが複数インストールされている環境で
ごく稀にAcrobatがフォントを認識しない問題が発生します
小塚明朝 Pr6Nが利用可能になっている事を確認してください

20241025070136_610x300


クリエイティブクラウドの同期フォント(not Adobe Fonts)をFontBookに登録する(修正)


フォントのキャッシュによる不具合の場合
キャッシュファイルを削除する事で解決する場合もあります
Windowsの場合は
"C:\Users\ユーザーID\AppData\Local\Adobe\Acrobat\DC\Cache"
"C:\Users\ユーザーID\AppData\Local\Adobe\Acrobat\DC\UserCache.bin"
"C:\Users\ユーザーID\AppData\Local\Adobe\Acrobat\DC\AdobeCMapFnt24.lst"
"C:\Users\ユーザーID\AppData\Local\Adobe\Acrobat\DC\AdobeSysFnt24.lst"
macの場合は
/Users/ユーザーID\/Library/Application Support/Adobe/Acrobat/DC/AdobeCMapFnt24.lst
/Users/ユーザーID\/Library/Application Support/Adobe/Acrobat/DC/AdobeSysFnt24.lst

7:テキストの色の確認
注釈・アノテーションのデフォルトのフォントの色を
『白』で設定している場合
スタンプ注釈の背景が白いので文字が見えない事になります
注釈のデフォルト値が『白以外』になっている事を確認してください
20241025070527_866x356
20241025070536_788x614
20241025070546_930x758

|

[Acrobat]入力日付スタンプ




ダウンロード - 入力日付スタンプ.zip





サンプルコード

サンプルソース(参考)
行番号ソース
001
002//入力スタンプ部
003var dialog = {
004strINPUT: "",
005commit: function (dialog) {
006var results = dialog.store();
007  this.strINPUT = results[
008      "NUMS"
009    ];
010  },
011description: {
012name: "スタンプ上部テキスト",
013elements: [
014      {
015type: "view",
016align_children: "align_top",
017elements: [
018          {
019type: "static_text",
020name: "4文字まで: "
021          },
022          {
023item_id: "NUMS",
024type: "edit_text",
025multiline: false,
026font: "dialog",
027char_width: 36,
028width: 188,
029height: 20,
030          },
031        ]
032      },
033      {
034align_children: "align_fill",
035type: "ok_cancel",
036ok_name: "OK",
037cancel_name: "Cancel"
038      },
039    ]
040  },
041};
042if ("ok" == app.execDialog(dialog)) {
043var getDIALOGSTRING = dialog.strINPUT;
044var setSTRING = getDIALOGSTRING;
045this.getField("DS1").value = setSTRING;
046}
047//日付部
048this.getField("DS2").value = util.printd("date(ja){gggY'年'M'月'D'日'}", new Date(), true).toString();
049//苗字部
050event.value = identity.lastName;
051//または
052this.getField("DS3").value = identity.lastName;
AppleScriptで生成しました

|

ナンバリング画像を順番に生成する




ダウンロード - makenumbering.zip





AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# 連番画像を生成します
005# ナンバリングスタンプ風に利用できます
006# サンプルPDFはDINAlternate-Boldをフォント指定してあります
007# OS標準搭載ですのでそのままで『たぶん』大丈夫です
008(* テンプレートPDFが必要です
009ダウンドードして利用してください
010https://quicktimer.cocolog-nifty.com/icefloe/files/makenumbering.zip
011*)
012#  com.cocolog-nifty.quicktimer.icefloe
013----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
014use AppleScript version "2.8"
015use framework "Foundation"
016use framework "AppKit"
017use framework "PDFKit"
018use scripting additions
019
020property refMe : a reference to current application
021
022
023on run argNo
024  ################################
025  #設定項目 接頭語
026  set strPrefixText to ("P") as text
027  #テンプレート
028  set strTemplateFileName to ("144x36.pdf") as text
029  #最大印字文字数
030  set numMaxStr to 7 as integer
031  
032  ################################
033  #ナンバリング桁数
034  set numCntNumbering to (numMaxStr - (count character of strPrefixText)) as integer
035  #on runのwith parametersを取得
036  set strArgClass to (class of argNo) as text
037  #with parametersが無い場合classがscriptになるので
038  #最初の番号
039  if strArgClass is "script" then
040    #初回は1から
041    set strDefaultAnswer to 1 as integer
042  else
043    #with parametersがある場合はwith parametersの次の番号
044    set strDefaultAnswer to (argNo + 1) as integer
045  end if
046  #ダイアログを前面に出す
047  set strName to (name of current application) as text
048  if strName is "osascript" then
049    tell application "Finder" to activate
050  else
051    tell current application to activate
052  end if
053  set aliasIconPath to POSIX file "/System/Applications/Calculator.app/Contents/Resources/AppIcon.icns" as alias
054  try
055    set recordResponse to (display dialog "ナンバリングの最初の番号を入力" with title "入力してください" default answer strDefaultAnswer buttons {"OK", "キャンセル"} default button "OK" cancel button "キャンセル" with icon aliasIconPath giving up after 60 without hidden answer)
056  on error
057    log "エラーしました"
058    return "エラーしました"
059  end try
060  if true is equal to (gave up of recordResponse) then
061    return "時間切れですやりなおしてください"
062  end if
063  if "OK" is equal to (button returned of recordResponse) then
064    set strResponse to (text returned of recordResponse) as text
065  else
066    log "キャンセルしました"
067    return "キャンセルしました"
068  end if
069  ################################
070  #桁数チェック
071  set numResponseCntChr to (count character of strResponse) as integer
072  if numResponseCntChr > numCntNumbering then
073    return "桁数が多過ぎ"
074  end if
075  ################################
076  #改行とタブを除去
077  set ocidResponse to refMe's NSString's stringWithString:(strResponse)
078  set ocidTempString to ocidResponse's stringByReplacingOccurrencesOfString:("\r") withString:("")
079  set ocidTempString to ocidTempString's stringByReplacingOccurrencesOfString:("\n") withString:("")
080  set ocidTempString to ocidTempString's stringByReplacingOccurrencesOfString:("\t") withString:("")
081  ################################
082  #半角にする
083  set ocidResponseM to (ocidTempString's stringByApplyingTransform:(refMe's NSStringTransformFullwidthToHalfwidth) |reverse|:false)
084  set numResponse to ocidResponseM as integer
085  ################################
086  #テンプレート読み込み
087  set aliasPathToMe to (path to me) as alias
088  tell application "Finder"
089    set aliasContainerDirPath to (container of aliasPathToMe) as alias
090    set aliasTemplatePdfFilePath to (file strTemplateFileName of folder "Template" of folder aliasContainerDirPath) as alias
091  end tell
092  #ファイルパス テンプレート
093  set strFilePath to (POSIX path of aliasTemplatePdfFilePath) as text
094  set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
095  set ocidFilePath to ocidFilePathStr's stringByStandardizingPath
096  set ocidFilePathURL to refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:(false)
097  ################################
098  #スタンプに使うナンバーを生成
099  #番号を桁そろえ
100  set strNumberRingZero to doAddLeadingZeros(numResponse, numCntNumbering)
101  set strSetNo to (strPrefixText & strNumberRingZero)
102  
103  ################################
104  #PDF テンプレート読み込み
105  ###ドキュメント
106  set ocidActivDoc to refMe's PDFDocument's alloc()'s initWithURL:ocidFilePathURL
107  ###ページ(テンプレートが1ページしかない)
108  set ocidActivPage to ocidActivDoc's pageAtIndex:(0)
109  ###アノテーション
110  set ocidAnnotationArray to ocidActivPage's annotations()
111  
112  ############################################
113  ###事前処理 アノテーションの名前を値をリストに
114  ############################################
115  ###初期値
116  set listFormValue to {} as list
117  ###アノテーションの数だけ繰り返し
118  repeat with itemAnnotation in ocidAnnotationArray
119    set strAnnoType to itemAnnotation's type() as text
120    log strAnnoType
121    log itemAnnotation's annotationKeyValues() as record
122    
123    ###対象はWidget
124    if strAnnoType is "Widget" then
125      log "Widget=フォーム注釈annotation"
126      log itemAnnotation's widgetStringValue() as text
127      #Widgetの名称を取得して
128      set strFieldName to itemAnnotation's fieldName() as text
129      if strFieldName contains "NUMBERING" then
130        #1の項目には上段の値を入れる
131        (itemAnnotation's setWidgetStringValue:(strSetNo))
132      end if
133    else
134      log "Widget=フォームではない通常の注釈annotation"
135    end if
136  end repeat
137  
138  
139  ################################
140  #スタンプのテンプレートデータのCROP RECT(使わなかった)
141  set listCropRect to (ocidActivPage's boundsForBox:(refMe's kPDFDisplayBoxCropBox))
142  set listRectSize to (item 2 of listCropRect)
143  set numCropW to (item 1 of listRectSize)
144  set numCropH to (item 2 of listRectSize)
145  
146  ################################
147  #取り出したページをDATAにして
148  set ocidPageData to ocidActivPage's dataRepresentation()
149  #NSIMAGEでにする
150  set ocidPageImage to refMe's NSImage's alloc()'s initWithData:(ocidPageData)
151  #サイズを取得(ポイントサイズ)
152  set ocidPDFPageSize to ocidPageImage's |size|()
153  set numImageW to ocidPDFPageSize's width
154  set numImageH to ocidPDFPageSize's height
155  #ポイントサイズを指定する(解像度変更したい場合はここで)
156  #出力イメージポイントサイズ
157  set ocidSetSize to refMe's NSSize's NSMakeSize(144, 36)
158  #PDFページにサイズをセット(意味ないけど)
159  ocidPageImage's setSize:(ocidSetSize)
160  #DATAに変換
161  set ocidImageRepArray to ocidPageImage's representations()
162  #最初の項目がPDFImageRep
163  set ocidImageRep to ocidImageRepArray's firstObject()
164  #しつこくサイズをセット(意味ないけど)
165  (ocidImageRep's setSize:(ocidSetSize))
166  
167  ################################
168  #出力用画像作成
169  #出力用BitmapImageRep 透過画像
170  set ocidAardboardRep to (refMe's NSBitmapImageRep's alloc()'s initWithBitmapDataPlanes:(missing value) pixelsWide:(144) pixelsHigh:(36) bitsPerSample:8 samplesPerPixel:4 hasAlpha:true isPlanar:false colorSpaceName:(refMe's NSCalibratedRGBColorSpace) bitmapFormat:(refMe's NSBitmapFormatAlphaFirst) bytesPerRow:0 bitsPerPixel:32)
171  #NSGraphicsContext初期化
172  set appGraphicsContext to (refMe's NSGraphicsContext)
173  #編集開始
174  appGraphicsContext's saveGraphicsState()
175  ##出力イメージ透過画像を処理内に読み込んで
176  set ocidContext to appGraphicsContext's graphicsContextWithBitmapImageRep:(ocidAardboardRep)
177  appGraphicsContext's setCurrentContext:(ocidContext)
178  #テンプレートイメージからの読み込みRECT
179  set ocidFromRect to refMe's NSRect's NSMakeRect(0, 0, numImageW, numImageH)
180  #透過画像に対しての貼り付け位置のRECT
181  set ocidDrawingRect to refMe's NSRect's NSMakeRect(0, 0, 144, 36)
182  #透過画像の上にPDFIMAGEREPを貼り付ける
183  (ocidImageRep's drawInRect:(ocidDrawingRect) fromRect:(ocidFromRect) operation:(refMe's NSCompositingOperationSourceOver) fraction:1.0 respectFlipped:false hints:(missing value))
184  #編集終了
185  appGraphicsContext's restoreGraphicsState()
186  
187  
188  ################################
189  #PNGデータに変換
190  set ocidProperty to (refMe's NSMutableDictionary's alloc()'s initWithCapacity:0)
191  (ocidProperty's setObject:(refMe's NSNumber's numberWithBool:false) forKey:(refMe's NSImageInterlaced))
192  (ocidProperty's setObject:(refMe's NSNumber's numberWithDouble:(1 / 2.2)) forKey:(refMe's NSImageGamma))
193  set ocidPngImageData to (ocidAardboardRep's representationUsingType:(refMe's NSBitmapImageFileTypePNG) |properties|:(ocidProperty))
194  
195  ################################
196  #ファイルにしておく
197  #保存先 再起動時に削除される項目
198  set appFileManager to refMe's NSFileManager's defaultManager()
199  set appFileManager to refMe's NSFileManager's defaultManager()
200  set ocidTempDirURL to appFileManager's temporaryDirectory()
201  set ocidUUID to refMe's NSUUID's alloc()'s init()
202  set ocidUUIDString to ocidUUID's UUIDString
203  set ocidSaveDirPathURL to ocidTempDirURL's URLByAppendingPathComponent:(ocidUUIDString) isDirectory:(true)
204  #フォルダ生成
205  set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
206  ocidAttrDict's setValue:(511) forKey:(refMe's NSFilePosixPermissions)
207  set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error| :(reference)
208  if (item 1 of listDone) is true then
209    # log "正常処理"
210  else if (item 2 of listDone) ≠ (missing value) then
211    set strErrorNO to (item 2 of listDone)'s code() as text
212    set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
213    refMe's NSLog("■:" & strErrorNO & strErrorMes)
214    return "エラーしました" & strErrorNO & strErrorMes
215  end if
216  #パス
217  set ocidSaveBaseFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(strSetNo) isDirectory:(false)
218  set ocidSaveFilePathURL to ocidSaveBaseFilePathURL's URLByAppendingPathExtension:("png")
219  ################################
220  #保存
221  set ocidOption to (refMe's NSDataWritingAtomic)
222  set listDone to ocidPngImageData's writeToURL:(ocidSaveFilePathURL) options:(true) |error| :(reference)
223  if (item 1 of listDone) is true then
224    # log "正常処理"
225    set aliasIconPath to (ocidSaveFilePathURL's absoluteURL()) as alias
226    set strFilePathURL to ocidSaveFilePathURL's absoluteString() as text
227  else if (item 2 of listDone) ≠ (missing value) then
228    set strErrorNO to (item 2 of listDone)'s code() as text
229    set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
230    refMe's NSLog("■:" & strErrorNO & strErrorMes)
231    return "エラーしました" & strErrorNO & strErrorMes
232  end if
233  
234  ################################
235  #
236  tell current application
237    set strName to name as text
238  end tell
239  if strName is "osascript" then
240    tell application "Finder"
241      activate
242    end tell
243  else
244    tell current application
245      activate
246    end tell
247  end if
248  set strRawNo to strFilePathURL
249  set strMes to "スタンプイメージができました\n右クリックから任意のアプリで開けます"
250  try
251    set recordResult to (display dialog strMes with title "戻り値です" default answer strRawNo buttons {"クリップボードにコピー", "終了", "ファイルにする"} default button "クリップボードにコピー" cancel button "終了" giving up after 20 with icon aliasIconPath without hidden answer) as record
252    # set recordResult to (display dialog strMes with title "戻り値です" default answer strRawNo buttons {"クリップボードにコピー", "終了", "次"} default button "クリップボードにコピー" cancel button "終了" giving up after 20 with icon aliasIconPath without hidden answer) as record
253  on error
254    return "エラーしました"
255  end try
256  if (gave up of recordResult) is true then
257    return "時間切れです"
258  end if
259  ################################
260  #自分自身を再実行
261  if button returned of recordResult is "次" then
262    tell application "Finder"
263      set aliasPathToMe to (path to me) as alias
264    end tell
265    run script aliasPathToMe with parameters numResponse
266  end if
267  ################################
268  #ファイルにする
269  if button returned of recordResult is "ファイルにする" then
270    set appFileManager to refMe's NSFileManager's defaultManager()
271    set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSPicturesDirectory) inDomains:(refMe's NSUserDomainMask))
272    set ocidPicturesDirPathURL to ocidURLsArray's firstObject()
273    set ocidSaveDirPathURL to ocidPicturesDirPathURL's URLByAppendingPathComponent:("Stamp") isDirectory:(true)
274    #フォルダ生成
275    set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
276    ocidAttrDict's setValue:(448) forKey:(refMe's NSFilePosixPermissions)
277    set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error| :(reference)
278    if (item 1 of listDone) is true then
279      # log "正常処理"
280    else if (item 2 of listDone) ≠ (missing value) then
281      set strErrorNO to (item 2 of listDone)'s code() as text
282      set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
283      refMe's NSLog("■:" & strErrorNO & strErrorMes)
284      return "エラーしました" & strErrorNO & strErrorMes
285    end if
286    #パス
287    #set strSaveFileName to (strDateText & "-" & strUpperText)
288    set ocidStampBaseFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(strSetNo) isDirectory:(false)
289    set ocidStampFilePathURL to ocidStampBaseFilePathURL's URLByAppendingPathExtension:("png")
290    ##移動(コピーじゃなく移動しちゃう)
291    set listDone to (appFileManager's moveItemAtURL:(ocidSaveFilePathURL) toURL:(ocidStampFilePathURL) |error| :(reference))
292    if (item 1 of listDone) is true then
293      log "正常処理"
294    else if (item 2 of listDone) ≠ (missing value) then
295      set strErrorNO to (item 2 of listDone)'s code() as text
296      set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
297      refMe's NSLog("■:" & strErrorNO & strErrorMes)
298      #すでにある場合もあるのでエラーで止めない
299      log "エラーしました" & strErrorNO & strErrorMes
300    end if
301    #移動先を開く
302    set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
303    set boolDone to appSharedWorkspace's openURL:(ocidSaveDirPathURL)
304    if boolDone is true then
305      log "正常処理"
306    else if boolDone is false then
307      return "エラーしました"
308    end if
309    tell application "Finder"
310      set aliasPathToMe to (path to me) as alias
311    end tell
312    run script aliasPathToMe with parameters numResponse
313  end if
314  ################################
315  #クリップボードに格納
316  if button returned of recordResult is "クリップボードにコピー" then
317    set appPasteboard to refMe's NSPasteboard's generalPasteboard()
318    appPasteboard's clearContents()
319    appPasteboard's setData:(ocidPngImageData) forType:(refMe's NSPasteboardTypePNG)
320    #次
321    tell application "Finder"
322      set aliasPathToMe to (path to me) as alias
323    end tell
324    run script aliasPathToMe with parameters numResponse
325  end if
326end run
327
328
329################################
330#リーディングゼロ
331################################
332
333on doAddLeadingZeros(argNo, argAddZeros)
334  #渡された数値
335  set numArgNo to argNo as integer
336  set strArgNo to argNo as text
337  #渡された桁数に10のべき乗
338  set numArgAddZeros to argAddZeros as integer
339  set numThresholdDigits to (10 ^ argAddZeros) as integer
340  #渡された数値が小さければ0を付与する処理をする
341  if numArgNo < numThresholdDigits then
342    #戻し値用のテキストを初期化
343    set strLeadingZeros to ("") as text
344    #渡された数値の桁数を数える
345    set numCntLength to (length of strArgNo) as integer
346    #追加する0の数
347    set numAddZero to (numArgAddZeros - numCntLength) as integer
348    #戻し値用のテキストに↑の数だけ0を追加
349    repeat numAddZero times
350      set strLeadingZeros to (strLeadingZeros & "0") as text
351    end repeat
352    #戻し値用の0に渡された値を並べてテキストで戻す
353    set strArgNo to (strLeadingZeros & strArgNo) as text
354    return strArgNo
355  else
356    #処理不要ならそのままテキストで戻す
357    return strArgNo as text
358  end if
359end doAddLeadingZeros
360
361
362
363################################
364# 日付 doGetDateNo()
365################################
366to doGetDateNo()
367  #戻す日付テキスト
368  set ocidRetuenString to refMe's NSMutableString's alloc()'s initWithCapacity:(0)
369  ###今日
370  set ocidDate to (current application's NSDate's |date|())
371  ###フォーマット初期化
372  set ocidFormatterJP to current application's NSDateFormatter's alloc()'s init()
373  ###日本のカレンダー
374  set ocidCalendarID to (current application's NSCalendarIdentifierJapanese)
375  set ocidCalendarJP to current application's NSCalendar's alloc()'s initWithCalendarIdentifier:(ocidCalendarID)
376  ###東京タイムゾーン
377  set ocidTimezoneJP to current application's NSTimeZone's alloc()'s initWithName:("Asia/Tokyo")
378  ###日本語
379  set ocidLocaleJP to current application's NSLocale's alloc()'s initWithLocaleIdentifier:("ja_JP_POSIX")
380  ###フォーマットをセット(年号)
381  ocidFormatterJP's setTimeZone:(ocidTimezoneJP)
382  ocidFormatterJP's setLocale:(ocidLocaleJP)
383  ocidFormatterJP's setCalendar:(ocidCalendarJP)
384  ocidFormatterJP's setDateStyle:(current application's NSDateFormatterFullStyle)
385  set strDateFormat to ("㋿y年")
386  ocidFormatterJP's setDateFormat:(strDateFormat)
387  set ocidDateStringEra to ocidFormatterJP's stringFromDate:(ocidDate)
388  ocidRetuenString's appendString:(ocidDateStringEra)
389  ###フォマットから月合字を取得(使わない)
390  set recordMonth to {|01月|:"㋀", |02月|:"㋁", |03月|:"㋂", |04月|:"㋃", |05月|:"㋄", |06月|:"㋅", |07月|:"㋆", |08月|:"㋇", |09月|:"㋈", |10月|:"㋉", |11月|:"㋊", |12月|:"㋋"} as record
391  set ocidMonthDict to refMe's NSMutableDictionary's alloc()'s initWithDictionary:(recordMonth)
392  set strDateFormat to ("MM月")
393  ocidFormatterJP's setDateFormat:(strDateFormat)
394  set ocidDateStringMonth to ocidFormatterJP's stringFromDate:(ocidDate)
395  # set ocidMonthValue to ocidMonthDict's valueForKey:(ocidDateStringMonth)
396  ocidRetuenString's appendString:(ocidDateStringMonth)
397  ##フォーマットから日付を取得(使わない)
398  set recordDate to {|01|:"㏠", |02|:"㏡", |03|:"㏢", |04|:"㏣", |05|:"㏤", |06|:"㏥", |07|:"㏦", |08|:"㏧", |09|:"㏨", |10|:"㏩", |11|:"㏪", |12|:"㏫", |13|:"㏬", |14|:"㏭", |15|:"㏮", |16|:"㏯", |17|:"㏰", |18|:"㏱", |19|:"㏲", |20|:"㏳", |21|:"㏴", |22|:"㏵", |23|:"㏶", |24|:"㏷", |25|:"㏸", |26|:"㏹", |27|:"㏺", |28|:"㏻", |29|:"㏼", |30|:"㏽", |31|:"㏾"} as record
399  set ocidDateDict to refMe's NSMutableDictionary's alloc()'s initWithDictionary:(recordDate)
400  set strDateFormat to ("dd日")
401  #   set strDateFormat to ("dd")
402  ocidFormatterJP's setDateFormat:(strDateFormat)
403  set ocidDateStringDate to ocidFormatterJP's stringFromDate:(ocidDate)
404  ocidRetuenString's appendString:(ocidDateStringDate)
405  # set ocidDateValue to ocidDateDict's valueForKey:(ocidDateStringDate)
406  # ocidRetuenString's appendString:(ocidDateValue)
407  
408  
409  set strDateAndTime to ((ocidRetuenString as text)) as text
410  ###テキストで戻す
411  return strDateAndTime
412end doGetDateNo
AppleScriptで生成しました

|

[PDFKit]日付印スタンプイメージをファイル保存(背景透過版)




ダウンロード - makestampv4.zip




AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# 日付印イメージをクリップボードに格納します
005# 設定項目があります 名前に3文字までで下段に印字する名称
006# テンプレートから文字種が選べます
007# スタンプ透過版
008(* テンプレートPDFが必要です
009ダウンドードして利用してください
010https://quicktimer.cocolog-nifty.com/icefloe/files/makestampv4.zip
011*)
012#  com.cocolog-nifty.quicktimer.icefloe
013----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
014use AppleScript version "2.8"
015use framework "Foundation"
016use framework "AppKit"
017use framework "PDFKit"
018use scripting additions
019
020property refMe : a reference to current application
021set appFileManager to refMe's NSFileManager's defaultManager()
022
023################################
024#設定項目 下段 人名 3文字まで
025#スタンプに描画される名前です
026
027set strLowerText to ("名前") as text
028
029#テンプレート
030#明朝体
031#set strTemplateFileName to ("ハンコテンプレートS.pdf") as text
032#ゴシック
033set strTemplateFileName to ("ハンコテンプレートG.pdf") as text
034#丸ゴシック
035# set strTemplateFileName to ("ハンコテンプレートR.pdf") as text
036
037
038################################
039#好きに増やせます 3文字まで
040set listUpperText to {"承認", "済", "納品済", "処理済", "確認済", "親展", "帳票済", "入力済", "請求済", "支払済", "電子済", "未電子"} as list
041###ダイアログを前面に出す
042set strName to (name of current application) as text
043if strName is "osascript" then
044  tell application "Finder" to activate
045else
046  tell current application to activate
047end if
048###
049set strTitle to ("選んでください") as text
050set strPrompt to ("スタンプイメージの\n上段部分です") as text
051try
052  set listResponse to (choose from list listUpperText with title strTitle with prompt strPrompt default items (item 1 of listUpperText) OK button name "OK" cancel button name "キャンセル" without multiple selections allowed and empty selection allowed) as list
053on error
054  log "エラーしました"
055  return "エラーしました"
056end try
057if (item 1 of listResponse) is false then
058  return "キャンセルしましたA"
059else if (item 1 of listResponse) is "キャンセル" then
060  return "キャンセルしましたB"
061else
062  set strUpperText to (item 1 of listResponse) as text
063end if
064
065################################
066#テンプレート読み込み
067set aliasPathToMe to (path to me) as alias
068tell application "Finder"
069  set aliasContainerDirPath to (container of aliasPathToMe) as alias
070  set aliasTemplatePdfFilePath to (file strTemplateFileName of folder "Template" of folder aliasContainerDirPath) as alias
071end tell
072#ファイルパス テンプレート
073set strFilePath to (POSIX path of aliasTemplatePdfFilePath) as text
074set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
075set ocidFilePath to ocidFilePathStr's stringByStandardizingPath
076set ocidFilePathURL to refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:(false)
077################################
078#スタンプに使う日付生成
079set strDateText to doGetDateNo()
080log strDateText
081################################
082#PDF テンプレート読み込み
083###ドキュメント
084set ocidActivDoc to refMe's PDFDocument's alloc()'s initWithURL:ocidFilePathURL
085###ページ(テンプレートが1ページしかない)
086set ocidActivPage to ocidActivDoc's pageAtIndex:(0)
087###アノテーション
088set ocidAnnotationArray to ocidActivPage's annotations()
089
090############################################
091###事前処理 アノテーションの名前を値をリストに
092############################################
093###初期値
094set listFormValue to {} as list
095###アノテーションの数だけ繰り返し
096repeat with itemAnnotation in ocidAnnotationArray
097  set strAnnoType to itemAnnotation's type() as text
098  log strAnnoType
099  log itemAnnotation's annotationKeyValues() as record
100  
101  ###対象はWidget
102  if strAnnoType is "Widget" then
103    log "Widget=フォーム注釈annotation"
104    log itemAnnotation's widgetStringValue() as text
105    #Widgetの名称を取得して
106    set strFieldName to itemAnnotation's fieldName() as text
107    if strFieldName contains "1" then
108      #1の項目には上段の値を入れる
109      (itemAnnotation's setWidgetStringValue:(strUpperText))
110    else if strFieldName contains "2" then
111      #2の項目には日付の値を入れる
112      (itemAnnotation's setWidgetStringValue:(strDateText))
113    else if strFieldName contains "3" then
114      #3の項目には氏名の値を入れる
115      (itemAnnotation's setWidgetStringValue:(strLowerText))
116    end if
117  else
118    log "Widget=フォームではない通常の注釈annotation"
119  end if
120end repeat
121
122
123################################
124#スタンプのテンプレートデータのCROP RECT(使わなかった)
125set listCropRect to (ocidActivPage's boundsForBox:(refMe's kPDFDisplayBoxCropBox))
126set listRectSize to (item 2 of listCropRect)
127set numCropW to (item 1 of listRectSize)
128set numCropH to (item 2 of listRectSize)
129
130################################
131#取り出したページをDATAにして
132set ocidPageData to ocidActivPage's dataRepresentation()
133#NSIMAGEでにする
134set ocidPageImage to refMe's NSImage's alloc()'s initWithData:(ocidPageData)
135#サイズを取得(ポイントサイズ)
136set ocidPDFPageSize to ocidPageImage's |size|()
137set numImageW to ocidPDFPageSize's width
138set numImageH to ocidPDFPageSize's height
139#ポイントサイズを指定する(解像度変更したい場合はここで)
140#出力イメージポイントサイズ
141set ocidSetSize to refMe's NSSize's NSMakeSize(260, 260)
142#PDFページにサイズをセット(意味ないけど)
143ocidPageImage's setSize:(ocidSetSize)
144#DATAに変換
145set ocidImageRepArray to ocidPageImage's representations()
146#最初の項目がPDFImageRep
147set ocidImageRep to ocidImageRepArray's firstObject()
148#しつこくサイズをセット(意味ないけど)
149(ocidImageRep's setSize:(ocidSetSize))
150
151################################
152#出力用画像作成
153#出力用BitmapImageRep 透過画像
154set ocidAardboardRep to (refMe's NSBitmapImageRep's alloc()'s initWithBitmapDataPlanes:(missing value) pixelsWide:(260) pixelsHigh:(260) bitsPerSample:8 samplesPerPixel:4 hasAlpha:true isPlanar:false colorSpaceName:(refMe's NSCalibratedRGBColorSpace) bitmapFormat:(refMe's NSBitmapFormatAlphaFirst) bytesPerRow:0 bitsPerPixel:32)
155#NSGraphicsContext初期化
156set appGraphicsContext to (refMe's NSGraphicsContext)
157#編集開始
158appGraphicsContext's saveGraphicsState()
159##出力イメージ透過画像を処理内に読み込んで
160set ocidContext to appGraphicsContext's graphicsContextWithBitmapImageRep:(ocidAardboardRep)
161appGraphicsContext's setCurrentContext:(ocidContext)
162#テンプレートイメージからの読み込みRECT
163set ocidFromRect to refMe's NSRect's NSMakeRect(0, 0, numImageW, numImageH)
164#透過画像に対しての貼り付け位置のRECT
165set ocidDrawingRect to refMe's NSRect's NSMakeRect(0, 0, 260, 260)
166#透過画像の上にPDFIMAGEREPを貼り付ける
167(ocidImageRep's drawInRect:(ocidDrawingRect) fromRect:(ocidFromRect) operation:(refMe's NSCompositingOperationSourceOver) fraction:1.0 respectFlipped:false hints:(missing value))
168#編集終了
169appGraphicsContext's restoreGraphicsState()
170
171
172################################
173#PNGデータに変換
174set ocidProperty to (refMe's NSMutableDictionary's alloc()'s initWithCapacity:0)
175(ocidProperty's setObject:(refMe's NSNumber's numberWithBool:false) forKey:(refMe's NSImageInterlaced))
176(ocidProperty's setObject:(refMe's NSNumber's numberWithDouble:(1 / 2.2)) forKey:(refMe's NSImageGamma))
177set ocidPngImageData to (ocidAardboardRep's representationUsingType:(refMe's NSBitmapImageFileTypePNG) |properties|:(ocidProperty))
178
179################################
180#ファイルにしておく
181#保存先 再起動時に削除される項目
182set appFileManager to refMe's NSFileManager's defaultManager()
183set ocidTempDirURL to appFileManager's temporaryDirectory()
184set ocidUUID to refMe's NSUUID's alloc()'s init()
185set ocidUUIDString to ocidUUID's UUIDString
186set ocidSaveDirPathURL to ocidTempDirURL's URLByAppendingPathComponent:(ocidUUIDString) isDirectory:(true)
187#フォルダ生成
188set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
189ocidAttrDict's setValue:(511) forKey:(refMe's NSFilePosixPermissions)
190set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error| :(reference)
191if (item 1 of listDone) is true then
192  # log "正常処理"
193else if (item 2 of listDone) ≠ (missing value) then
194  set strErrorNO to (item 2 of listDone)'s code() as text
195  set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
196  refMe's NSLog("■:" & strErrorNO & strErrorMes)
197  return "エラーしました" & strErrorNO & strErrorMes
198end if
199#パス
200set ocidSaveBaseFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(strUpperText) isDirectory:(false)
201set ocidSaveFilePathURL to ocidSaveBaseFilePathURL's URLByAppendingPathExtension:("png")
202################################
203#保存
204set ocidOption to (refMe's NSDataWritingAtomic)
205set listDone to ocidPngImageData's writeToURL:(ocidSaveFilePathURL) options:(true) |error| :(reference)
206if (item 1 of listDone) is true then
207  # log "正常処理"
208  set aliasIconPath to (ocidSaveFilePathURL's absoluteURL()) as alias
209  set strFilePathURL to ocidSaveFilePathURL's absoluteString() as text
210else if (item 2 of listDone) ≠ (missing value) then
211  set strErrorNO to (item 2 of listDone)'s code() as text
212  set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
213  refMe's NSLog("■:" & strErrorNO & strErrorMes)
214  return "エラーしました" & strErrorNO & strErrorMes
215end if
216
217################################
218#
219tell current application
220  set strName to name as text
221end tell
222if strName is "osascript" then
223  tell application "Finder"
224    activate
225  end tell
226else
227  tell current application
228    activate
229  end tell
230end if
231set strRawNo to strFilePathURL
232set strMes to "スタンプイメージができました\n右クリックから任意のアプリで開けます"
233try
234  set recordResult to (display dialog strMes with title "戻り値です" default answer strRawNo buttons {"クリップボードにコピー", "終了", "ファイルにする"} default button "クリップボードにコピー" cancel button "終了" giving up after 20 with icon aliasIconPath without hidden answer) as record
235on error
236  return "エラーしました"
237end try
238if (gave up of recordResult) is true then
239  return "時間切れです"
240end if
241################################
242#ファイルにする
243if button returned of recordResult is "ファイルにする" then
244  set appFileManager to refMe's NSFileManager's defaultManager()
245  set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSPicturesDirectory) inDomains:(refMe's NSUserDomainMask))
246  set ocidPicturesDirPathURL to ocidURLsArray's firstObject()
247  set ocidSaveDirPathURL to ocidPicturesDirPathURL's URLByAppendingPathComponent:("Stamp") isDirectory:(true)
248  #フォルダ生成
249  set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
250  ocidAttrDict's setValue:(448) forKey:(refMe's NSFilePosixPermissions)
251  set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error| :(reference)
252  if (item 1 of listDone) is true then
253    # log "正常処理"
254  else if (item 2 of listDone) ≠ (missing value) then
255    set strErrorNO to (item 2 of listDone)'s code() as text
256    set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
257    refMe's NSLog("■:" & strErrorNO & strErrorMes)
258    return "エラーしました" & strErrorNO & strErrorMes
259  end if
260  #パス
261  set strSaveFileName to (strDateText & "-" & strUpperText)
262  set ocidStampBaseFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(strSaveFileName) isDirectory:(false)
263  set ocidStampFilePathURL to ocidStampBaseFilePathURL's URLByAppendingPathExtension:("png")
264  ##移動(コピーじゃなく移動しちゃう)
265  set listDone to (appFileManager's moveItemAtURL:(ocidSaveFilePathURL) toURL:(ocidStampFilePathURL) |error| :(reference))
266  if (item 1 of listDone) is true then
267    log "正常処理"
268  else if (item 2 of listDone) ≠ (missing value) then
269    set strErrorNO to (item 2 of listDone)'s code() as text
270    set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
271    refMe's NSLog("■:" & strErrorNO & strErrorMes)
272    #すでにある場合もあるのでエラーで止めない
273    log "エラーしました" & strErrorNO & strErrorMes
274  end if
275  #移動先を開く
276  set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
277  set boolDone to appSharedWorkspace's openURL:(ocidSaveDirPathURL)
278  if boolDone is true then
279    log "正常処理"
280  else if boolDone is false then
281    return "エラーしました"
282  end if
283  
284end if
285################################
286#クリップボードに格納
287if button returned of recordResult is "クリップボードにコピー" then
288  set appPasteboard to refMe's NSPasteboard's generalPasteboard()
289  appPasteboard's clearContents()
290  appPasteboard's setData:(ocidPngImageData) forType:(refMe's NSPasteboardTypePNG)
291end if
292
293return
294################################
295# 日付 doGetDateNo()
296################################
297to doGetDateNo()
298  #戻す日付テキスト
299  set ocidRetuenString to refMe's NSMutableString's alloc()'s initWithCapacity:(0)
300  ###今日
301  set ocidDate to (current application's NSDate's |date|())
302  ###フォーマット初期化
303  set ocidFormatterJP to current application's NSDateFormatter's alloc()'s init()
304  ###日本のカレンダー
305  set ocidCalendarID to (current application's NSCalendarIdentifierJapanese)
306  set ocidCalendarJP to current application's NSCalendar's alloc()'s initWithCalendarIdentifier:(ocidCalendarID)
307  ###東京タイムゾーン
308  set ocidTimezoneJP to current application's NSTimeZone's alloc()'s initWithName:("Asia/Tokyo")
309  ###日本語
310  set ocidLocaleJP to current application's NSLocale's alloc()'s initWithLocaleIdentifier:("ja_JP_POSIX")
311  ###フォーマットをセット(年号)
312  ocidFormatterJP's setTimeZone:(ocidTimezoneJP)
313  ocidFormatterJP's setLocale:(ocidLocaleJP)
314  ocidFormatterJP's setCalendar:(ocidCalendarJP)
315  ocidFormatterJP's setDateStyle:(current application's NSDateFormatterFullStyle)
316  set strDateFormat to ("㋿y年")
317  ocidFormatterJP's setDateFormat:(strDateFormat)
318  set ocidDateStringEra to ocidFormatterJP's stringFromDate:(ocidDate)
319  ocidRetuenString's appendString:(ocidDateStringEra)
320  ###フォマットから月合字を取得(使わない)
321  set recordMonth to {|01月|:"㋀", |02月|:"㋁", |03月|:"㋂", |04月|:"㋃", |05月|:"㋄", |06月|:"㋅", |07月|:"㋆", |08月|:"㋇", |09月|:"㋈", |10月|:"㋉", |11月|:"㋊", |12月|:"㋋"} as record
322  set ocidMonthDict to refMe's NSMutableDictionary's alloc()'s initWithDictionary:(recordMonth)
323  set strDateFormat to ("MM月")
324  ocidFormatterJP's setDateFormat:(strDateFormat)
325  set ocidDateStringMonth to ocidFormatterJP's stringFromDate:(ocidDate)
326  # set ocidMonthValue to ocidMonthDict's valueForKey:(ocidDateStringMonth)
327  ocidRetuenString's appendString:(ocidDateStringMonth)
328  ##フォーマットから日付を取得(使わない)
329  set recordDate to {|01|:"㏠", |02|:"㏡", |03|:"㏢", |04|:"㏣", |05|:"㏤", |06|:"㏥", |07|:"㏦", |08|:"㏧", |09|:"㏨", |10|:"㏩", |11|:"㏪", |12|:"㏫", |13|:"㏬", |14|:"㏭", |15|:"㏮", |16|:"㏯", |17|:"㏰", |18|:"㏱", |19|:"㏲", |20|:"㏳", |21|:"㏴", |22|:"㏵", |23|:"㏶", |24|:"㏷", |25|:"㏸", |26|:"㏹", |27|:"㏺", |28|:"㏻", |29|:"㏼", |30|:"㏽", |31|:"㏾"} as record
330  set ocidDateDict to refMe's NSMutableDictionary's alloc()'s initWithDictionary:(recordDate)
331  set strDateFormat to ("dd日")
332  #   set strDateFormat to ("dd")
333  ocidFormatterJP's setDateFormat:(strDateFormat)
334  set ocidDateStringDate to ocidFormatterJP's stringFromDate:(ocidDate)
335  ocidRetuenString's appendString:(ocidDateStringDate)
336  # set ocidDateValue to ocidDateDict's valueForKey:(ocidDateStringDate)
337  # ocidRetuenString's appendString:(ocidDateValue)
338  
339  
340  set strDateAndTime to ((ocidRetuenString as text)) as text
341  ###テキストで戻す
342  return strDateAndTime
343end doGetDateNo
AppleScriptで生成しました

|

[Acrobat]入力可能な日付スタンプ

20240703013447_1350x1056

ダウンロード - スタンプインストール.zip


|

[PDFKit]日付印スタンプイメージをクリップボードに格納します(背景透過版)

20240626020932_1362x842
こんな感じのスタンプイメージをクリップボードに格納します
画像化することでエクセル等にも貼り付けられるようにしました

↓ダウンロードしてください(ハンコイメージが内包されています)

ダウンロード - makestampv3.zip

↑ダウンロードしてください(ハンコイメージが内包されています)
AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# 日付印イメージをクリップボードに格納します
005# 設定項目があります 名前に3文字までで下段に印字する名称
006# テンプレートから文字種が選べます
007# スタンプ透過版
008(* テンプレートPDFが必要です
009ダウンドードして利用してください
010https://quicktimer.cocolog-nifty.com/icefloe/files/makestampv3.zip
011*)
012#  com.cocolog-nifty.quicktimer.icefloe
013----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
014use AppleScript version "2.8"
015use framework "Foundation"
016use framework "AppKit"
017use framework "PDFKit"
018use scripting additions
019
020property refMe : a reference to current application
021set appFileManager to refMe's NSFileManager's defaultManager()
022
023################################
024#設定項目 下段 人名 3文字まで
025set strLowerText to ("名前") as text
026
027#テンプレート
028#明朝体
029# set strTemplateFileName to ("ハンコテンプレートS.pdf") as text
030#ゴシック
031# set strTemplateFileName to ("ハンコテンプレートG.pdf") as text
032#丸ゴシック
033set strTemplateFileName to ("ハンコテンプレートR.pdf") as text
034
035
036################################
037#好きに増やせます 3文字まで
038set listUpperText to {"承認", "済", "納品済", "処理済", "確認済", "親展", "帳票済", "入力済", "請求済", "支払済", "電子済", "未電子"} as list
039###ダイアログを前面に出す
040set strName to (name of current application) as text
041if strName is "osascript" then
042  tell application "Finder" to activate
043else
044  tell current application to activate
045end if
046###
047set strTitle to ("選んでください") as text
048set strPrompt to ("スタンプイメージの\n上段部分です") as text
049try
050  set listResponse to (choose from list listUpperText with title strTitle with prompt strPrompt default items (item 1 of listUpperText) OK button name "OK" cancel button name "キャンセル" without multiple selections allowed and empty selection allowed) as list
051on error
052  log "エラーしました"
053  return "エラーしました"
054end try
055if (item 1 of listResponse) is false then
056  return "キャンセルしましたA"
057else if (item 1 of listResponse) is "キャンセル" then
058  return "キャンセルしましたB"
059else
060  set strUpperText to (item 1 of listResponse) as text
061end if
062
063################################
064#テンプレート読み込み
065set aliasPathToMe to (path to me) as alias
066tell application "Finder"
067  set aliasContainerDirPath to (container of aliasPathToMe) as alias
068  set aliasTemplatePdfFilePath to (file strTemplateFileName of folder "Template" of folder aliasContainerDirPath) as alias
069end tell
070#ファイルパス テンプレート
071set strFilePath to (POSIX path of aliasTemplatePdfFilePath) as text
072set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
073set ocidFilePath to ocidFilePathStr's stringByStandardizingPath
074set ocidFilePathURL to refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:(false)
075################################
076#スタンプに使う日付生成
077set strDateText to doGetDateNo()
078log strDateText
079################################
080#PDF テンプレート読み込み
081###ドキュメント
082set ocidActivDoc to refMe's PDFDocument's alloc()'s initWithURL:ocidFilePathURL
083###ページ(テンプレートが1ページしかない)
084set ocidActivPage to ocidActivDoc's pageAtIndex:(0)
085###アノテーション
086set ocidAnnotationArray to ocidActivPage's annotations()
087
088############################################
089###事前処理 アノテーションの名前を値をリストに
090############################################
091###初期値
092set listFormValue to {} as list
093###アノテーションの数だけ繰り返し
094repeat with itemAnnotation in ocidAnnotationArray
095  set strAnnoType to itemAnnotation's type() as text
096  log strAnnoType
097  log itemAnnotation's annotationKeyValues() as record
098  
099  ###対象はWidget
100  if strAnnoType is "Widget" then
101    log "Widget=フォーム注釈annotation"
102    log itemAnnotation's widgetStringValue() as text
103    #Widgetの名称を取得して
104    set strFieldName to itemAnnotation's fieldName() as text
105    if strFieldName contains "1" then
106      #1の項目には上段の値を入れる
107      (itemAnnotation's setWidgetStringValue:(strUpperText))
108    else if strFieldName contains "2" then
109      #2の項目には日付の値を入れる
110      (itemAnnotation's setWidgetStringValue:(strDateText))
111    else if strFieldName contains "3" then
112      #3の項目には氏名の値を入れる
113      (itemAnnotation's setWidgetStringValue:(strLowerText))
114    end if
115  else
116    log "Widget=フォームではない通常の注釈annotation"
117  end if
118end repeat
119
120
121
122
123################################
124#スタンプのテンプレートデータのCROP RECT(使わなかった)
125set listCropRect to (ocidActivPage's boundsForBox:(refMe's kPDFDisplayBoxCropBox))
126set listRectSize to (item 2 of listCropRect)
127set numCropW to (item 1 of listRectSize)
128set numCropH to (item 2 of listRectSize)
129
130################################
131#取り出したページをDATAにして
132set ocidPageData to ocidActivPage's dataRepresentation()
133#NSIMAGEでにする
134set ocidPageImage to refMe's NSImage's alloc()'s initWithData:(ocidPageData)
135#サイズを取得(ポイントサイズ)
136set ocidPDFPageSize to ocidPageImage's |size|()
137set numImageW to ocidPDFPageSize's width
138set numImageH to ocidPDFPageSize's height
139#ポイントサイズを指定する(解像度変更したい場合はここで)
140#出力イメージポイントサイズ
141set ocidSetSize to refMe's NSSize's NSMakeSize(260, 260)
142#PDFページにサイズをセット(意味ないけど)
143ocidPageImage's setSize:(ocidSetSize)
144#DATAに変換
145set ocidImageRepArray to ocidPageImage's representations()
146#最初の項目がPDFImageRep
147set ocidImageRep to ocidImageRepArray's firstObject()
148#しつこくサイズをセット(意味ないけど)
149(ocidImageRep's setSize:(ocidSetSize))
150
151################################
152#出力用画像作成
153#出力用BitmapImageRep 透過画像
154set ocidAardboardRep to (refMe's NSBitmapImageRep's alloc()'s initWithBitmapDataPlanes:(missing value) pixelsWide:(260) pixelsHigh:(260) bitsPerSample:8 samplesPerPixel:4 hasAlpha:true isPlanar:false colorSpaceName:(refMe's NSCalibratedRGBColorSpace) bitmapFormat:(refMe's NSBitmapFormatAlphaFirst) bytesPerRow:0 bitsPerPixel:32)
155#NSGraphicsContext初期化
156set appGraphicsContext to (refMe's NSGraphicsContext)
157#編集開始
158appGraphicsContext's saveGraphicsState()
159##出力イメージ透過画像を処理内に読み込んで
160set ocidContext to appGraphicsContext's graphicsContextWithBitmapImageRep:(ocidAardboardRep)
161appGraphicsContext's setCurrentContext:(ocidContext)
162#テンプレートイメージからの読み込みRECT
163set ocidFromRect to refMe's NSRect's NSMakeRect(0, 0, numImageW, numImageH)
164#透過画像に対しての貼り付け位置のRECT
165set ocidDrawingRect to refMe's NSRect's NSMakeRect(0, 0, 260, 260)
166#透過画像の上にPDFIMAGEREPを貼り付ける
167(ocidImageRep's drawInRect:(ocidDrawingRect) fromRect:(ocidFromRect) operation:(refMe's NSCompositingOperationSourceOver) fraction:1.0 respectFlipped:false hints:(missing value))
168#編集終了
169appGraphicsContext's restoreGraphicsState()
170
171
172################################
173#PNGデータに変換
174set ocidProperty to (refMe's NSMutableDictionary's alloc()'s initWithCapacity:0)
175(ocidProperty's setObject:(refMe's NSNumber's numberWithBool:false) forKey:(refMe's NSImageInterlaced))
176(ocidProperty's setObject:(refMe's NSNumber's numberWithDouble:(1 / 2.2)) forKey:(refMe's NSImageGamma))
177set ocidPngImageData to (ocidAardboardRep's representationUsingType:(refMe's NSBitmapImageFileTypePNG) |properties|:(ocidProperty))
178################################
179#クリップボードに格納
180set appPasteboard to refMe's NSPasteboard's generalPasteboard()
181appPasteboard's clearContents()
182appPasteboard's setData:(ocidPngImageData) forType:(refMe's NSPasteboardTypePNG)
183
184
185return
186################################
187# 日付 doGetDateNo()
188################################
189to doGetDateNo()
190  #戻す日付テキスト
191  set ocidRetuenString to refMe's NSMutableString's alloc()'s initWithCapacity:(0)
192  ###今日
193  set ocidDate to (current application's NSDate's |date|())
194  ###フォーマット初期化
195  set ocidFormatterJP to current application's NSDateFormatter's alloc()'s init()
196  ###日本のカレンダー
197  set ocidCalendarID to (current application's NSCalendarIdentifierJapanese)
198  set ocidCalendarJP to current application's NSCalendar's alloc()'s initWithCalendarIdentifier:(ocidCalendarID)
199  ###東京タイムゾーン
200  set ocidTimezoneJP to current application's NSTimeZone's alloc()'s initWithName:("Asia/Tokyo")
201  ###日本語
202  set ocidLocaleJP to current application's NSLocale's alloc()'s initWithLocaleIdentifier:("ja_JP_POSIX")
203  ###フォーマットをセット(年号)
204  ocidFormatterJP's setTimeZone:(ocidTimezoneJP)
205  ocidFormatterJP's setLocale:(ocidLocaleJP)
206  ocidFormatterJP's setCalendar:(ocidCalendarJP)
207  ocidFormatterJP's setDateStyle:(current application's NSDateFormatterFullStyle)
208  set strDateFormat to (" ㋿y年")
209  ocidFormatterJP's setDateFormat:(strDateFormat)
210  set ocidDateStringEra to ocidFormatterJP's stringFromDate:(ocidDate)
211  ocidRetuenString's appendString:(ocidDateStringEra)
212  ###フォマットから月合字を取得(使わない)
213  set recordMonth to {|01月|:"㋀", |02月|:"㋁", |03月|:"㋂", |04月|:"㋃", |05月|:"㋄", |06月|:"㋅", |07月|:"㋆", |08月|:"㋇", |09月|:"㋈", |10月|:"㋉", |11月|:"㋊", |12月|:"㋋"} as record
214  set ocidMonthDict to refMe's NSMutableDictionary's alloc()'s initWithDictionary:(recordMonth)
215  set strDateFormat to ("MM月")
216  ocidFormatterJP's setDateFormat:(strDateFormat)
217  set ocidDateStringMonth to ocidFormatterJP's stringFromDate:(ocidDate)
218  # set ocidMonthValue to ocidMonthDict's valueForKey:(ocidDateStringMonth)
219  ocidRetuenString's appendString:(ocidDateStringMonth)
220  ##フォーマットから日付を取得(使わない)
221  set recordDate to {|01|:"㏠", |02|:"㏡", |03|:"㏢", |04|:"㏣", |05|:"㏤", |06|:"㏥", |07|:"㏦", |08|:"㏧", |09|:"㏨", |10|:"㏩", |11|:"㏪", |12|:"㏫", |13|:"㏬", |14|:"㏭", |15|:"㏮", |16|:"㏯", |17|:"㏰", |18|:"㏱", |19|:"㏲", |20|:"㏳", |21|:"㏴", |22|:"㏵", |23|:"㏶", |24|:"㏷", |25|:"㏸", |26|:"㏹", |27|:"㏺", |28|:"㏻", |29|:"㏼", |30|:"㏽", |31|:"㏾"} as record
222  set ocidDateDict to refMe's NSMutableDictionary's alloc()'s initWithDictionary:(recordDate)
223  set strDateFormat to ("dd日 ")
224  ocidFormatterJP's setDateFormat:(strDateFormat)
225  set ocidDateStringDate to ocidFormatterJP's stringFromDate:(ocidDate)
226  # set ocidDateValue to ocidDateDict's valueForKey:(ocidDateStringDate)
227  ocidRetuenString's appendString:(ocidDateStringDate)
228  
229  set strDateAndTime to ((ocidRetuenString as text)) as text
230  ###テキストで戻す
231  return strDateAndTime
232end doGetDateNo
AppleScriptで生成しました

|

[PDFKit]日付印スタンプイメージをクリップボードに格納します(スタンプ透過版)

20240625093455_1676x976
こんな感じのスタンプイメージをクリップボードに格納します
画像化することでエクセル等にも貼り付けられます

↓ダウンロードしてください(ハンコイメージが内包されています)

ダウンロード - makestampv2.zip

↑ダウンロードしてください(ハンコイメージが内包されています)
AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# 日付印イメージをクリップボードに格納します
005# 設定項目があります 名前に3文字までで下段に印字する名称を
006# スタンプ透過版
007(* テンプレートPDFが必要です
008ダウンドードして利用してください
009https://quicktimer.cocolog-nifty.com/icefloe/files/makestampv2.zip
010*)
011#  com.cocolog-nifty.quicktimer.icefloe
012----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
013use AppleScript version "2.8"
014use framework "Foundation"
015use framework "AppKit"
016use framework "PDFKit"
017use scripting additions
018
019property refMe : a reference to current application
020set appFileManager to refMe's NSFileManager's defaultManager()
021
022################################
023#設定項目 下段 人名 3文字まで
024set strLowerText to ("名前") as text
025
026################################
027#好きに増やせます 3文字まで
028set listUpperText to {"承認", "済", "納品済", "処理済", "確認済", "親展", "帳票済", "入力済", "請求済", "支払済", "電子済", "未電子"} as list
029###ダイアログを前面に出す
030set strName to (name of current application) as text
031if strName is "osascript" then
032  tell application "Finder" to activate
033else
034  tell current application to activate
035end if
036###
037set strTitle to ("選んでください") as text
038set strPrompt to ("スタンプイメージの\n上段部分です") as text
039try
040  set listResponse to (choose from list listUpperText with title strTitle with prompt strPrompt default items (item 1 of listUpperText) OK button name "OK" cancel button name "キャンセル" without multiple selections allowed and empty selection allowed) as list
041on error
042  log "エラーしました"
043  return "エラーしました"
044end try
045if (item 1 of listResponse) is false then
046  return "キャンセルしましたA"
047else if (item 1 of listResponse) is "キャンセル" then
048  return "キャンセルしましたB"
049else
050  set strUpperText to (item 1 of listResponse) as text
051end if
052
053################################
054#テンプレート読み込み
055set aliasPathToMe to (path to me) as alias
056tell application "Finder"
057  set aliasContainerDirPath to (container of aliasPathToMe) as alias
058  set aliasTemplatePdfFilePath to (file "ハンコテンプレート.pdf" of folder "Template" of folder aliasContainerDirPath) as alias
059end tell
060#ファイルパス テンプレート
061set strFilePath to (POSIX path of aliasTemplatePdfFilePath) as text
062set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
063set ocidFilePath to ocidFilePathStr's stringByStandardizingPath
064set ocidFilePathURL to refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:(false)
065################################
066#スタンプに使う日付生成
067set strDateText to doGetDateNo()
068log strDateText
069################################
070#PDF テンプレート読み込み
071###ドキュメント
072set ocidActivDoc to refMe's PDFDocument's alloc()'s initWithURL:ocidFilePathURL
073###ページ(テンプレートが1ページしかない)
074set ocidActivPage to ocidActivDoc's pageAtIndex:(0)
075###アノテーション
076set ocidAnnotationArray to ocidActivPage's annotations()
077
078############################################
079###事前処理 アノテーションの名前を値をリストに
080############################################
081###初期値
082set listFormValue to {} as list
083###アノテーションの数だけ繰り返し
084repeat with itemAnnotation in ocidAnnotationArray
085  set strAnnoType to itemAnnotation's type() as text
086  ###対象はWidget
087  if strAnnoType is "Widget" then
088    log itemAnnotation's widgetStringValue() as text
089    #Widgetの名称を取得して
090    set strFieldName to itemAnnotation's fieldName() as text
091    if strFieldName contains "1" then
092      #1の項目には上段の値を入れる
093      (itemAnnotation's setWidgetStringValue:(strUpperText))
094    else if strFieldName contains "2" then
095      #2の項目には日付の値を入れる
096      (itemAnnotation's setWidgetStringValue:(strDateText))
097    else if strFieldName contains "3" then
098      #3の項目には氏名の値を入れる
099      (itemAnnotation's setWidgetStringValue:(strLowerText))
100    end if
101  else
102    log "Widget=フォームではない通常の注釈annotation"
103  end if
104end repeat
105##スタンプのテンプレートデータのCROP RECT(使わなかった)
106set listCropRect to (ocidActivPage's boundsForBox:(refMe's kPDFDisplayBoxCropBox))
107set listRectSize to (item 2 of listCropRect)
108set numCropW to (item 1 of listRectSize)
109set numCropH to (item 2 of listRectSize)
110
111################################
112#取り出したページをDATAにして
113set ocidPageData to ocidActivPage's dataRepresentation()
114#NSIMAGEでにする
115set ocidPageImage to refMe's NSImage's alloc()'s initWithData:(ocidPageData)
116#サイズを取得(ポイントサイズ)
117set ocidPDFPageSize to ocidPageImage's |size|()
118set numImageW to ocidPDFPageSize's width
119set numImageH to ocidPDFPageSize's height
120#ポイントサイズを指定する(解像度変更したい場合はここで)
121#出力イメージポイントサイズ
122set ocidSetSize to refMe's NSSize's NSMakeSize(260, 260)
123#PDFページにサイズをセット(意味ないけど)
124ocidPageImage's setSize:(ocidSetSize)
125#DATAに変換
126set ocidImageRepArray to ocidPageImage's representations()
127#最初の項目がPDFImageRep
128set ocidImageRep to ocidImageRepArray's firstObject()
129#しつこくサイズをセット(意味ないけど)
130(ocidImageRep's setSize:(ocidSetSize))
131
132################################
133#出力用画像作成
134#出力用BitmapImageRep 透過画像
135set ocidAardboardRep to (refMe's NSBitmapImageRep's alloc()'s initWithBitmapDataPlanes:(missing value) pixelsWide:(260) pixelsHigh:(260) bitsPerSample:8 samplesPerPixel:4 hasAlpha:true isPlanar:false colorSpaceName:(refMe's NSCalibratedRGBColorSpace) bitmapFormat:(refMe's NSBitmapFormatAlphaFirst) bytesPerRow:0 bitsPerPixel:32)
136#NSGraphicsContext初期化
137set appGraphicsContext to (refMe's NSGraphicsContext)
138#編集開始
139appGraphicsContext's saveGraphicsState()
140##出力イメージ透過画像を処理内に読み込んで
141set ocidContext to appGraphicsContext's graphicsContextWithBitmapImageRep:(ocidAardboardRep)
142appGraphicsContext's setCurrentContext:(ocidContext)
143#テンプレートイメージからの読み込みRECT
144set ocidFromRect to refMe's NSRect's NSMakeRect(0, 0, numImageW, numImageH)
145#透過画像に対しての貼り付け位置のRECT
146set ocidDrawingRect to refMe's NSRect's NSMakeRect(0, 0, 260, 260)
147#透過画像の上にPDFIMAGEREPを貼り付ける
148(ocidImageRep's drawInRect:(ocidDrawingRect) fromRect:(ocidFromRect) operation:(refMe's NSCompositingOperationSourceOver) fraction:1.0 respectFlipped:false hints:(missing value))
149#編集終了
150appGraphicsContext's restoreGraphicsState()
151
152
153################################
154#PNGデータに変換
155set ocidProperty to (refMe's NSMutableDictionary's alloc()'s initWithCapacity:0)
156(ocidProperty's setObject:(refMe's NSNumber's numberWithBool:false) forKey:(refMe's NSImageInterlaced))
157(ocidProperty's setObject:(refMe's NSNumber's numberWithDouble:(1 / 2.2)) forKey:(refMe's NSImageGamma))
158set ocidPngImageData to (ocidAardboardRep's representationUsingType:(refMe's NSBitmapImageFileTypePNG) |properties|:(ocidProperty))
159################################
160#クリップボードに格納
161set appPasteboard to refMe's NSPasteboard's generalPasteboard()
162appPasteboard's clearContents()
163appPasteboard's setData:(ocidPngImageData) forType:(refMe's NSPasteboardTypePNG)
164
165
166return
167################################
168# 日付 doGetDateNo()
169################################
170to doGetDateNo()
171  #戻す日付テキスト
172  set ocidRetuenString to refMe's NSMutableString's alloc()'s initWithCapacity:(0)
173  ###今日
174  set ocidDate to (current application's NSDate's |date|())
175  ###フォーマット初期化
176  set ocidFormatterJP to current application's NSDateFormatter's alloc()'s init()
177  ###日本のカレンダー
178  set ocidCalendarID to (current application's NSCalendarIdentifierJapanese)
179  set ocidCalendarJP to current application's NSCalendar's alloc()'s initWithCalendarIdentifier:(ocidCalendarID)
180  ###東京タイムゾーン
181  set ocidTimezoneJP to current application's NSTimeZone's alloc()'s initWithName:("Asia/Tokyo")
182  ###日本語
183  set ocidLocaleJP to current application's NSLocale's alloc()'s initWithLocaleIdentifier:("ja_JP_POSIX")
184  ###フォーマットをセット(年号)
185  ocidFormatterJP's setTimeZone:(ocidTimezoneJP)
186  ocidFormatterJP's setLocale:(ocidLocaleJP)
187  ocidFormatterJP's setCalendar:(ocidCalendarJP)
188  ocidFormatterJP's setDateStyle:(current application's NSDateFormatterFullStyle)
189  set strDateFormat to (" ㋿y年")
190  ocidFormatterJP's setDateFormat:(strDateFormat)
191  set ocidDateStringEra to ocidFormatterJP's stringFromDate:(ocidDate)
192  ocidRetuenString's appendString:(ocidDateStringEra)
193  ###フォマットから月合字を取得(使わない)
194  set recordMonth to {|01月|:"㋀", |02月|:"㋁", |03月|:"㋂", |04月|:"㋃", |05月|:"㋄", |06月|:"㋅", |07月|:"㋆", |08月|:"㋇", |09月|:"㋈", |10月|:"㋉", |11月|:"㋊", |12月|:"㋋"} as record
195  set ocidMonthDict to refMe's NSMutableDictionary's alloc()'s initWithDictionary:(recordMonth)
196  set strDateFormat to ("MM月")
197  ocidFormatterJP's setDateFormat:(strDateFormat)
198  set ocidDateStringMonth to ocidFormatterJP's stringFromDate:(ocidDate)
199  # set ocidMonthValue to ocidMonthDict's valueForKey:(ocidDateStringMonth)
200  ocidRetuenString's appendString:(ocidDateStringMonth)
201  ##フォーマットから日付を取得(使わない)
202  set recordDate to {|01|:"㏠", |02|:"㏡", |03|:"㏢", |04|:"㏣", |05|:"㏤", |06|:"㏥", |07|:"㏦", |08|:"㏧", |09|:"㏨", |10|:"㏩", |11|:"㏪", |12|:"㏫", |13|:"㏬", |14|:"㏭", |15|:"㏮", |16|:"㏯", |17|:"㏰", |18|:"㏱", |19|:"㏲", |20|:"㏳", |21|:"㏴", |22|:"㏵", |23|:"㏶", |24|:"㏷", |25|:"㏸", |26|:"㏹", |27|:"㏺", |28|:"㏻", |29|:"㏼", |30|:"㏽", |31|:"㏾"} as record
203  set ocidDateDict to refMe's NSMutableDictionary's alloc()'s initWithDictionary:(recordDate)
204  set strDateFormat to ("dd日 ")
205  ocidFormatterJP's setDateFormat:(strDateFormat)
206  set ocidDateStringDate to ocidFormatterJP's stringFromDate:(ocidDate)
207  # set ocidDateValue to ocidDateDict's valueForKey:(ocidDateStringDate)
208  ocidRetuenString's appendString:(ocidDateStringDate)
209  
210  set strDateAndTime to ((ocidRetuenString as text)) as text
211  ###テキストで戻す
212  return strDateAndTime
213end doGetDateNo
AppleScriptで生成しました

|

[PDFKit]日付印スタンプイメージをクリップボードに格納します

20240625070354_1514x1212
こんな感じのスタンプイメージをクリップボードに格納します
画像化することでエクセル等にも貼り付けられます

↓ダウンロードしてください(ハンコイメージが内包されています)

ダウンロード - makestamp.zip

↑ダウンロードしてください(ハンコイメージが内包されています)
AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# 日付印イメージをクリップボードに格納します
005# 設定項目があります 名前に3文字までで下段に印字する名称を
006(* テンプレートPDFが必要です
007ダウンドードして利用してください
008https://quicktimer.cocolog-nifty.com/icefloe/files/makestamp.zip
009
010*)
011#  com.cocolog-nifty.quicktimer.icefloe
012----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
013use AppleScript version "2.8"
014use framework "Foundation"
015use framework "AppKit"
016use framework "PDFKit"
017use scripting additions
018
019property refMe : a reference to current application
020set appFileManager to refMe's NSFileManager's defaultManager()
021
022################################
023#設定項目 下段 人名 3文字まで
024set strLowerText to ("名前") as text
025
026################################
027#好きに増やせます 3文字まで
028set listUpperText to {"承認", "済", "納品済", "処理済", "確認済", "親展", "帳票済", "入力済", "請求済", "支払済", "電子済", "未電子"} as list
029###ダイアログを前面に出す
030set strName to (name of current application) as text
031if strName is "osascript" then
032  tell application "Finder" to activate
033else
034  tell current application to activate
035end if
036###
037set strTitle to ("選んでください") as text
038set strPrompt to ("スタンプイメージの\n上段部分です") as text
039try
040  set listResponse to (choose from list listUpperText with title strTitle with prompt strPrompt default items (item 1 of listUpperText) OK button name "OK" cancel button name "キャンセル" without multiple selections allowed and empty selection allowed) as list
041on error
042  log "エラーしました"
043  return "エラーしました"
044end try
045if (item 1 of listResponse) is false then
046  return "キャンセルしましたA"
047else if (item 1 of listResponse) is "キャンセル" then
048  return "キャンセルしましたB"
049else
050  set strUpperText to (item 1 of listResponse) as text
051end if
052
053
054################################
055#
056set aliasPathToMe to (path to me) as alias
057tell application "Finder"
058  set aliasContainerDirPath to (container of aliasPathToMe) as alias
059  set aliasTemplatePdfFilePath to (file "ハンコテンプレート.pdf" of folder "Template" of folder aliasContainerDirPath) as alias
060end tell
061###ファイルパス
062set strFilePath to (POSIX path of aliasTemplatePdfFilePath) as text
063set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
064set ocidFilePath to ocidFilePathStr's stringByStandardizingPath
065set ocidFilePathURL to refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:(false)
066################################
067#スタンプに使う日付生成
068set strDateText to doGetDateNo()
069
070################################
071#PDF
072###ドキュメント
073set ocidActivDoc to refMe's PDFDocument's alloc()'s initWithURL:ocidFilePathURL
074###ページ(テンプレートが1ページしかない)
075set ocidActivPage to ocidActivDoc's pageAtIndex:(0)
076###アノテーション
077set ocidAnnotationArray to ocidActivPage's annotations()
078
079############################################
080###事前処理 アノテーションの名前を値をリストに
081############################################
082###初期値
083set listFormValue to {} as list
084###アノテーションの数だけ繰り返し
085repeat with itemAnnotation in ocidAnnotationArray
086  set strAnnoType to itemAnnotation's type() as text
087  ###対象はフォーム以外
088  if strAnnoType is "Widget" then
089    log itemAnnotation's widgetStringValue() as text
090    set strFieldName to itemAnnotation's fieldName() as text
091    if strFieldName contains "1" then
092      (itemAnnotation's setWidgetStringValue:(strUpperText))
093    else if strFieldName contains "2" then
094      (itemAnnotation's setWidgetStringValue:(strDateText))
095    else if strFieldName contains "3" then
096      (itemAnnotation's setWidgetStringValue:(strLowerText))
097    end if
098  else
099    log "Widget=フォームではない通常の注釈annotation"
100  end if
101end repeat
102##スタンプのテンプレートデータのCROP RECT
103set listCropRect to (ocidActivPage's boundsForBox:(refMe's kPDFDisplayBoxCropBox))
104set listRectSize to (item 2 of listCropRect)
105set imageW to (item 1 of listRectSize)
106set imageH to (item 2 of listRectSize)
107
108
109################################
110#PDFをラスタライズ=画像化することでエクセルにも貼れる
111set ocidOutPutPdfDoc to refMe's PDFDocument's alloc()'s init()
112#取り出したページをDATAにして
113set ocidPageData to ocidActivPage's dataRepresentation()
114#NSIMAGEでにする
115set ocidPageImage to refMe's NSImage's alloc()'s initWithData:(ocidPageData)
116#ポイントサイズを指定する(解像度変更したい場合はここで)
117set ocidSetSize to refMe's NSSize's NSMakeSize(360, 360)
118ocidPageImage's setSize:(ocidSetSize)
119
120#NSimageになったページデータをページとして初期化
121set ocidPDFPageImage to refMe's PDFPage's alloc()'s initWithImage:(ocidPageImage)
122#画像になったPDFPageをPDFDocumentに挿入
123ocidOutPutPdfDoc's insertPage:(ocidPDFPageImage) atIndex:(0)
124
125################################
126#ドキュメントをPDFのままペーストボードに入れる
127set ocidPdfData to ocidOutPutPdfDoc's dataRepresentation()
128
129################################
130#
131set appPasteboard to refMe's NSPasteboard's generalPasteboard()
132appPasteboard's clearContents()
133appPasteboard's setData:(ocidPdfData) forType:(refMe's NSPasteboardTypePDF)
134#appPasteboard's setData:(ocidPngImageData) forType:(refMe's NSPasteboardTypePNG)
135################################
136# 日付 doGetDateNo()
137################################
138to doGetDateNo()
139  #戻す日付テキスト
140  set ocidRetuenString to refMe's NSMutableString's alloc()'s initWithCapacity:(0)
141  ###今日
142  set ocidDate to (current application's NSDate's |date|())
143  ###フォーマット初期化
144  set ocidFormatterJP to current application's NSDateFormatter's alloc()'s init()
145  ###日本のカレンダー
146  set ocidCalendarID to (current application's NSCalendarIdentifierJapanese)
147  set ocidCalendarJP to current application's NSCalendar's alloc()'s initWithCalendarIdentifier:(ocidCalendarID)
148  ###東京タイムゾーン
149  set ocidTimezoneJP to current application's NSTimeZone's alloc()'s initWithName:("Asia/Tokyo")
150  ###日本語
151  set ocidLocaleJP to current application's NSLocale's alloc()'s initWithLocaleIdentifier:("ja_JP_POSIX")
152  ###フォーマットをセット(年号)
153  ocidFormatterJP's setTimeZone:(ocidTimezoneJP)
154  ocidFormatterJP's setLocale:(ocidLocaleJP)
155  ocidFormatterJP's setCalendar:(ocidCalendarJP)
156  ocidFormatterJP's setDateStyle:(current application's NSDateFormatterFullStyle)
157  set strDateFormat to ("㋿y年")
158  ocidFormatterJP's setDateFormat:(strDateFormat)
159  set ocidDateStringEra to ocidFormatterJP's stringFromDate:(ocidDate)
160  ocidRetuenString's appendString:(ocidDateStringEra)
161  ###フォマットから月合字を取得
162  set recordMonth to {|01月|:"㋀", |02月|:"㋁", |03月|:"㋂", |04月|:"㋃", |05月|:"㋄", |06月|:"㋅", |07月|:"㋆", |08月|:"㋇", |09月|:"㋈", |10月|:"㋉", |11月|:"㋊", |12月|:"㋋"} as record
163  set ocidMonthDict to refMe's NSMutableDictionary's alloc()'s initWithDictionary:(recordMonth)
164  set strDateFormat to ("MM月")
165  ocidFormatterJP's setDateFormat:(strDateFormat)
166  set ocidDateStringMonth to ocidFormatterJP's stringFromDate:(ocidDate)
167  set ocidMonthValue to ocidMonthDict's valueForKey:(ocidDateStringMonth)
168  ocidRetuenString's appendString:(ocidMonthValue)
169  ##フォーマットから日付を取得
170  set strDateFormat to ("dd日")
171  ocidFormatterJP's setDateFormat:(strDateFormat)
172  set ocidDateStringDate to ocidFormatterJP's stringFromDate:(ocidDate)
173  ocidRetuenString's appendString:(ocidDateStringDate)
174  
175  set strDateAndTime to ((ocidRetuenString as text)) as text
176  ###テキストで戻す
177  return strDateAndTime
178end doGetDateNo
AppleScriptで生成しました

|

[スタンプ]ファイルアイコン スタンプ

Screencapture-20230531-14408
スタンプデータ

ダウンロード - fileiconstamp.zip


素材

ダウンロード - all20file20type20icons_pagepdf.zip

|

[Acrobat]アドレス帳登録用QRコードスタンプ


スタンプ素材

ダウンロード - addqr.zip


ファイル名を変更すると利用出来なくなります
スタンプデータのPDFとAcrobatのAP名は紐づいていますので、ファイル名はそのままでコピーしてインストールしてください
スタンプデータ自体はWindowsでも利用可能です。

Screencapture_20230530_17_11_03
スタンプデータインストール(ファイルコピー)方法

【スクリプトエディタで開く】|

//-------------------------------------------------------------
//-----------------XMLタグは編集できません--------------------
//-------------------------------------------------------------

//<Document-Level>
//<ACRO_source>!ADBE::0050_FieldInit_Barcode1</ACRO_source>
//<ACRO_script>
/*********** 所有者 : Document-Level:!ADBE::0050_FieldInit_Barcode1 ***********/
if ((app.viewerVersion < 5) && (app.viewerVersion > 0) && (this.getField("Barcode1") != null))
    this.getField("Barcode1").value = "";

//</ACRO_script>
//</Document-Level>

//<Document-Level>
//<ACRO_source>!ADBE::0050_FieldInit_objBarcode</ACRO_source>
//<ACRO_script>
/*********** 所有者 : Document-Level:!ADBE::0050_FieldInit_objBarcode ***********/
if ((app.viewerVersion < 5) && (app.viewerVersion > 0) && (this.getField("objBarcode") != null))
    this.getField("objBarcode").value = "";

//</ACRO_script>
//</Document-Level>

//<Document-Level>
//<ACRO_source>!ADBE::0100_VersChkStrings</ACRO_source>
//<ACRO_script>
/*********** 所有者 : Document-Level:!ADBE::0100_VersChkStrings ***********/
if (typeof(this.ADBE) == "undefined") this.ADBE = new Object();
ADBE.LANGUAGE = "ENU";
ADBE.Viewer_string_Title = "Adobe Acrobat";

ADBE.Reader_string_Need_New_Version_Msg = "This PDF form requires a newer version of Adobe Reader. Without a newer version, the form may display, but may not work properly. Some form elements might not be visible at all. If an internet connection is available, clicking OK will open your browser to a web page where you can obtain the latest version.";
ADBE.Viewer_string_PMD_Old = "A newer version of Adobe software is required. For more information, copy and paste the URL below into a browser.";
ADBE.Viewer_string_PMD = "This document requires a newer version of Adobe Acrobat. Without a newer version, it might not work properly. Some elements might not be visible at all. Click OK to get more information to obtain the latest version of Adobe Reader.";
ADBE.Viewer_string_Update_Desc = "Adobe Interactive Forms Update";

//</ACRO_script>
//</Document-Level>

//<Document-Level>
//<ACRO_source>!ADBE::0100_VersChkVars</ACRO_source>
//<ACRO_script>
/*********** 所有者 : Document-Level:!ADBE::0100_VersChkVars ***********/
ADBE.PMD_Need_Version = 7.05;
if (app.platform == "UNIX" && ADBE.PMD_Need_Version < 8) ADBE.PMD_Need_Version = 8;
if (typeof(ADBE.Reader_Value_Asked) == "undefined") ADBE.Reader_Value_Asked = false;
if (typeof(ADBE.Viewer_Value_Asked) == "undefined") ADBE.Viewer_Value_Asked = false;

if (typeof(ADBE.Reader_Need_Version) == "undefined" || ADBE.Reader_Need_Version < ADBE.PMD_Need_Version)
{
    ADBE.Reader_Need_Version = ADBE.PMD_Need_Version;
    ADBE.Reader_Value_New_Version_URL = "http://cgi.adobe.com/special/acrobat/update";
    ADBE.SYSINFO = "?p=" + app.platform + "&v=" + app.viewerVersion + "&l=" + app.language + "&c=" + app.viewerType + "&r=" + ADBE.Reader_Need_Version;
}
if (typeof(ADBE.Viewer_Need_Version) == "undefined" || ADBE.Viewer_Need_Version < ADBE.PMD_Need_Version)
{
    ADBE.Viewer_Need_Version = ADBE.PMD_Need_Version;
    ADBE.Viewer_Value_New_Version_URL = "http://cgi.adobe.com/special/acrobat/update";
    ADBE.SYSINFO = "?p=" + app.platform + "&v=" + app.viewerVersion + "&l=" + app.language + "&c=" + app.viewerType + "&r=" + ADBE.Viewer_Need_Version;
}

//</ACRO_script>
//</Document-Level>

//<Document-Level>
//<ACRO_source>!ADBE::0200_VersChkCode_PMD1</ACRO_source>
//<ACRO_script>
/*********** 所有者 : Document-Level:!ADBE::0200_VersChkCode_PMD1 ***********/
if (app.viewerType == "Reader")
{
    if (app.viewerVersion < ADBE.Reader_Need_Version && !ADBE.Reader_Value_Asked)
{
if (app.alert(ADBE.Reader_string_Need_New_Version_Msg, 1, 1) == 1) this.getURL(ADBE.Reader_Value_New_Version_URL + ADBE.SYSINFO, false);
ADBE.Reader_Value_Asked = true;
}
}
else
{
    if (app.viewerVersion < ADBE.Viewer_Need_Version && !ADBE.Viewer_Value_Asked)
{
if (app.viewerVersion > 7)
{
if (app.alert(ADBE.Viewer_string_PMD, 1, 1) == 1)
app.findComponent({cType:"Plugin", cName:"XFA", cDesc: ADBE.Viewer_string_Update_Desc});
}
else if (app.viewerVersion > 6 && ADBE.Viewer_Need_Version < 7)
{
if (app.alert(ADBE.Viewer_string_PMD, 1, 1) == 1)
app.findComponent({cType:"UDPatch", cName:"602Patch", cDesc: ADBE.Viewer_string_Update_Desc});
}
else
app.response({cQuestion:ADBE.Viewer_string_PMD_Old, cDefault:ADBE.Viewer_Value_New_Version_URL + ADBE.SYSINFO, cTitle:ADBE.Viewer_string_Title});
    ADBE.Viewer_Value_Asked = true;
}
}

//</ACRO_script>
//</Document-Level>

//<AcroForm>
//<ACRO_source>objBarcode:Calculate</ACRO_source>
//<ACRO_script>
/*********** 所有者 : AcroForm:objBarcode:Calculate ***********/
var OpenDialog = {
    initialize:
function (dialog) {
this.strAsk1 = "";
this.strAsk2 = "";
this.strAsk3 = "";
dialog.load({
"Ask1": this.strAsk1,
"Ask2": this.strAsk2,
"Ask3": this.strAsk3,
   
first_tab: "Ask1"
});
console.println("initialize");
},
    commit: function (dialog) {
var results = dialog.store();
strAsk1 = results["Ask1"];
strAsk2 = results["Ask2"];
strAsk3 = results["Ask3"];

},
    description:
{
name: "Dialog Box",
align_children: "align_left",
width: 420,
height: 240,
elements:
[
{
type: "cluster",
name: "名前入力",
align_children: "align_left",
elements:
[
{
type: "view",
align_children: "align_row",
elements:
[
{
item_id: "strTitle1",
type: "static_text",
name: "名前 "
},
{
item_id: "Ask1",
type: "edit_text",
alignment: "align_fill",
multiline: false,
width: 300,
height: 20
}
]
}
]
},{
type: "cluster",
name: "メールアドレス",
align_children: "align_left",
elements:
[
{
type: "view",
align_children: "align_row",
elements:
[
{
item_id: "strTitle2",
type: "static_text",
name: "メールアドレス"
},
{
item_id: "Ask2",
type: "edit_text",
alignment: "align_fill",
multiline: false,
width: 300,
height: 20
}
]
}
]
},{
type: "cluster",
name: "電話番号",
align_children: "align_left",
elements:
[
{
type: "view",
align_children: "align_row",
elements:
[
{
item_id: "strTitle3",
type: "static_text",
name: "電話番号"
},
{
item_id: "Ask3",
type: "edit_text",
alignment: "align_fill",
multiline: false,
width: 300,
height: 20
}
]
}
]
},
{
alignment: "align_right",
type: "ok_cancel",
ok_name: "Ok",
cancel_name: "Cancel"
}
]
}
};
app.execDialog(OpenDialog);
this.getField("strName").value = this.strAsk1;
this.getField("strEmail").value = this.strAsk2;
this.getField("strTel").value = this.strAsk3;

var strQrcodeData = "BEGIN:VCARD\nVERSION:3.0\nFN:" + this.strAsk1 + "\nEMAIL:" + this.strAsk2 + "\nTEL:" + this.strAsk3 + "\nEND:VCARD\n"

this.getField("objBarcode").value = strQrcodeData;
//</ACRO_script>
//</AcroForm>




|

より以前の記事一覧

その他のカテゴリー

Accessibility Acrobat Acrobat 2020 Acrobat AddOn Acrobat Annotation Acrobat ARMDC Acrobat AV2 Acrobat BookMark Acrobat Classic Acrobat DC Acrobat Dialog Acrobat Distiller Acrobat Form Acrobat JS Acrobat Manifest Acrobat Menu Acrobat Open Acrobat Plugin Acrobat Preferences Acrobat Preflight Acrobat python Acrobat Reader Acrobat SCA Acrobat SCA Updater Acrobat Sequ Acrobat Sign Acrobat Stamps Acrobat Watermark Acrobat Windows Acrobat Windows Reader Admin Admin Account Admin Apachectl Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Mobileconfig Admin Permission Admin Pkg Admin Power Management Admin Printer Admin SetUp Admin SMB Admin Support Admin System Information Admin Tools Admin Users Admin Volumes Adobe Adobe FDKO Adobe RemoteUpdateManager AppKit Apple AppleScript AppleScript do shell script AppleScript List AppleScript ObjC AppleScript Osax AppleScript PDF AppleScript Pictures AppleScript record AppleScript Script Editor AppleScript Script Menu AppleScript Shortcuts AppleScript Shortcuts Events AppleScript System Events AppleScript System Events Plist AppleScript Video Applications AppStore Archive Attributes Automator BackUp Barcode Barcode QR Barcode QR Decode Bash Basic Basic Path Bluetooth BOX Browser Calendar CD/DVD Choose Chrome CIImage CityCode CloudStorage Color com.apple.LaunchServices.OpenWith Console Contacts CotEditor CURL current application Date&Time delimiters Desktop Device Diff Disk Dock DropBox Droplet eMail Encode % Encode Decode Encode UTF8 Error EXIFData ffmpeg File Finder Firefox Folder FolderAction Fonts GIF github Guide HTML HTML Entity Icon Illustrator Image Events Image2PDF ImageOptim iPhone iWork Javascript Jedit Json Label Leading Zero List locationd LRC lsappinfo LSSharedFileList m3u8 Mail MakePDF Map Math Media Media AVAsset Media AVconvert Media AVFoundation Media AVURLAsset Media Movie Media Music Memo Messages Microsoft Microsoft Edge Microsoft Excel Mouse Music NetWork Notes NSArray NSArray Sort NSBezierPath NSBitmapImageRep NSBundle NSCFBoolean NSCharacterSet NSColor NSColorList NSData NSDecimalNumber NSDictionary NSError NSEvent NSFileAttributes NSFileManager NSFileManager enumeratorAtURL NSFont NSFontManager NSGraphicsContext NSImage NSIndex NSKeyedArchiver NSKeyedUnarchiver NSLocale NSMutableArray NSMutableDictionary NSMutableString NSNotFound NSNumber NSOpenPanel NSPasteboard NSpoint NSPredicate NSPrintOperation NSRange NSRect NSRegularExpression NSRunningApplication NSScreen NSSize NSString NSString stringByApplyingTransform NSStringCompareOptions NSTask NSTimeZone NSURL NSURL File NSURLBookmark NSURLComponents NSURLResourceKey NSURLSession NSUserDefaults NSUUID NSView NSWorkspace Numbers OAuth OneDrive PDF PDFAnnotation PDFAnnotationWidget PDFContext PDFDisplayBox PDFDocumentPermissions PDFImageRep PDFKit PDFnUP PDFOutline perl Photoshop PlistBuddy pluginkit postalcode PostScript prefPane Preview Python QuickLook QuickTime ReadMe Regular Expression Reminders ReName Repeat RTF Safari SaveFile ScreenCapture ScreenSaver SF Symbols character id SF Symbols Entity sips Skype Slack Sound Spotlight sqlite SRT StandardAdditions Swift System Settings TCC TemporaryItems Terminal Text Text CSV Text MD Text TSV TextEdit Tools Translate Trash Twitter Typography UI Unit Conversion UTType valueForKeyPath Video VisionKit Visual Studio Code Wacom webarchive webp Wifi Windows XML XML EPUB XML OPML XML Plist XML RSS XML savedSearch XML SVG XML TTML XML webloc XML XMP YouTube zoom