1枚1データとなっているA4サイズのTIFデータが1000個あります。

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

回答の条件
  • 1人2回まで
  • 登録:2008/02/14 16:04:42
  • 終了:2008/02/21 16:05:02

回答(2件)

id:wellmin No.1

wellmin回答回数93ベストアンサー獲得回数02008/02/14 16:50:08

ポイント35pt

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

▽1枚目を開く

▽左に90度回転させる

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

▽2枚目を開く

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

▽2枚目をコピーする

▽2枚目を閉じる

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

▽保存する

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

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

id:ion10

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

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

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

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

2008/02/14 17:06:17
id:airplant No.2

airplant回答回数220ベストアンサー獲得回数492008/02/15 04:09:35

ポイント35pt

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ですよね?(大きな勘違いだったりして・・・)

id:ion10

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

はい、Winです。

試してみます。

2008/02/19 10:11:32

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません