人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

1枚1データとなっているA4サイズのTIFデータが1000個あります。
これを1つ目のデータと2つ目のデータを合体させ、データの数量を半分にしたいのですが(A3サイズのデータが500個になる)、このようなことが一括で出来るソフトはございますでしょうか?
また、フォトショップのバッチ処理でもかまいませんが、どのようなバッチを作ればよろしいでしょうか?
よろしくお願いいたします。


●質問者: ion10
●カテゴリ:コンピュータ
✍キーワード:A3 A4サイズ TIF サイズ ソフト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● wellmin
●35ポイント

フォトショップのバッチ処理なら

▽1枚目を開く

▽左に90度回転させる

▽サイズ変更(?)で、上に白台紙ができるようにA3サイズに変更する

▽2枚目を開く

▽2枚目を左に90度回転させる

▽2枚目をコピーする

▽2枚目を閉じる

▽1枚目がアクティブだと思うので、貼り付ける。

▽保存する

手元にフォトショップがないため、

ファイル名をどうやって指定するかまでは答えることができずすみません。

◎質問者からの返答

ご回答ありがとうございます。

フォルダ内にデータが2枚しかなければバッチ処理できるのですが、

1枚目と2枚目の合体が終わったら、今度は3枚目と4枚目の合体、次は5枚目と6枚目、・・・・

フォトショップのバッチ処理でこのような指示って出来るものでしょうか?


2 ● airplant
●35ポイント

PhotoShopのバッチとWindowsのバッチ(WSH)を組み合わせてやればできます。


次のソースをxxxx.vbsで保存してダブルクリックして動かして見てください。

PhotoShopのバッチは、入力をa.tif, b.tifとして、出力はz.tif固定として記録してください。

4ページにしたいときには、定義部分にc.tif, d.tifなどを入れれば、4ページずつを1つにするように動きます。

(ファイル名とフォルダ、Photoshop起動名とパラメータは適宜変更ください)

Option Explicit
'統合のためにファイルを作業フォルダへ移動してアプリを起動する

Const sExeName = "C:\WINDOWS\system32\notepad.exe"  ' ★テスト時はメモ帳→Photoshopの起動ダイレクトパスとバッチファイル名にする
' メイン
' PhotoShopから見たTIFフォルダ、Inフォルダ、Outファイル名
Call IntegrateFiles("C:\photoS\TIFs", _
 "C:\photoS\IN", _
 "C:\photoS\z.TIF")

Sub IntegrateFiles(sTIFFolder, sInFolder, sOutFile)

 Dim objShell, objFSO, objFolder, objFile, objOutFile
 Dim vWork, sInFiles, iFileNo, iCnt
 
 If Msgbox(sInFolder & "の処理をしますか?", vbOKCancel) <> vbOK Then
 Exit Sub
 End If
 Set objShell = WScript.CreateObject("WScript.Shell")
 Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
 Set objFolder = objFSO.GetFolder(sTIFFolder)

  ' バッチの入力ファイル名を区切って指定
 sInFiles = Array("a.TIF", "b.TIF")  ' ★
 iCnt = UBound(sInFiles) + 1

  'ファイルを指定フォルダへ指定個数分ずつ移動してアプリを起動する
 iFileNo = 1
 For Each objFile In objFolder.Files
  ' PhotoShop用入力ファイル名に変更
 objFile.Copy sInFolder & "\" & sInFiles((iFileNo - 1) Mod iCnt), True
 If iFileNo Mod iCnt = 0 Then
  ' PhotoShopのバッチを実行して、結果ファイル名を変更
 objShell.Run sExeName, 1, True
 set objOutFile = objFSO.GetFile(sOutFile)
 objOutFile.Name = Format(iFileNo / iCnt, "0000") & ".TIF"
 End If
 iFileNo = iFileNo + 1
 Next
 Wscript.Echo "作成終了"

 Set objOutFile = Nothing
 Set objFile = Nothing
 Set objFolder = Nothing
 Set objFSO = Nothing
 Set objShell = Nothing

End Sub

' 簡易Format関数(WSHにはFormat関数がない)
Function Format(iVal, sLen)
 Dim i
 Format = ""
 For i=1 to Len(sLen)
 Format = ival Mod 10 & Format
 ival = Int(ival / 10)
 Next
End Function

P.S. Windowsですよね?(大きな勘違いだったりして・・・)

◎質問者からの返答

ご回答ありがとうございます。

はい、Winです。

試してみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ