BSch3Vで複数ページを印刷する   2024/05/11

戻る


BSch3V は、ひとつのウィンドウでひとつのデータを扱うプログラムで、まとめて複数の回路図ファイルを印刷する機能を持っていません。
ここでは、複数のファイルを一気に印刷する、ふたつの方法を紹介します。

1. EMFPRINTで印刷する方法
2. BSch3Vのコマンドラインの印刷オプションを使う方法


このページのサンプルファイル printsample.zip のダウンロード

■共通の準備

まとめて印刷したい回路図ファイルのリストを作ります。ファイル名はなんでもいいのですが、filelist.txt をおすすめします。(下で紹介するバッチファイルで、この名前を使っています)
これは、部品番号振り付けソフトウェアNUT3W Version 0.84.01以降でも使うものです。

SensorIF_AFE.CE3
SensorIF_CPU.CE3
SensorIF_EXTIF.CE3

・文字コードはUTF-8。(Windows11のメモ帳がデフォルトで、UTF-8のテキストファイルを作ります)
・filelist.txtと、回路図ファイルが同じフォルダにあるときは、上記のようにファイル名と拡張子だけ書けば良いですが、別フォルダにあるときはパスも書いてください。

■1. EMFPRINTで印刷する

前提
BSch3V Version 0.84.01 以降
EMFPRRINT Version 20240511以降

複数のファイルで構成されている回路図を1つのPDFにまとめやすい方法です。
下記のようなバッチファイルを filelist.txt と同じフォルダに作り、名前を printall_1.bat とします。(文字コードはメモ帳のデフォルトのUTF-8です)

chcp 65001
@echo off
setlocal
set BSCHCMD="C:\Users\username\ドキュメント\bsch3v\bsch3v.exe"
set EMFPCMD="C:\Users\username\ドキュメント\bsch3v\emfprint.exe"

for /f "delims=" %%t in (filelist.txt) do (
    %BSCHCMD% "%%t" -emf
)

type nul > emffilelist.txt

for /f "delims=" %%t in (filelist.txt) do (
    echo %%~dpnt.emf>>emffilelist.txt
)

%EMFPCMD% emffilelist.txt

del emffilelist.txt
echo finished
endlocal

上記リストの赤の部分はそれぞれ、BSch3V.exeとEMFPRINT.exeのパソコンの中でのフルパスですので、環境に合わせて書き換えてください。
ひとつ動作するものができれば、あとは filelist.txt を作るだけで、バッチファイルはそのままほかのプロジェクトでも使いまわしできます。

このバッチファイルでは次のようなことをやっています。

(1)filelist.txtからファイル名を取り出して、
      BSch3V.exe 回路図ファイル名 -emf
   で、回路図からEMFファイルを作る
(2)filelist.txtからファイル名を取り出して、拡張子を.emfに置き換えたファイル名のリスト emffilelist.txt を作る
(3) EMFPRINT.exe に emffilelist.txt を渡して起動
(4) emffilelist.txt を削除

この printall_1.bat を実行すると、filelist.txtで指定した回路図ファイルから EMFを作成して、EMFPRINTでまとめて読み込むところまで自動で進みます。


■2. BSch3Vのコマンドラインの印刷オプションを使う方法

下のような内容のテキストファイルを作り、printall_2.bat の名前で保存します。

chcp 65001
setlocal
set BSCHCMD="C:\Users\username\ドキュメント\bsch3v\bsch3v.exe"
set PRTNAME="EPSON8E5D2F (PX-M780F Series)"

for /f "delims=" %%t in (filelist.txt) do (
     %BSCHCMD% "%%t" -pt %PRTNAME%
)
endlocal

上記リストの赤の部分はそれぞれ、BSch3V.exeのパソコンの中でのフルパスと、プリンタの名称ですので、環境に合わせて書き換えてください。

プリンタの名称は Windowsの設定の「Bluetoothとデバイス」の中の「プリンタとスキャナ」で表示される名前です。

プリンタはあらかじめ、用紙その他の設定をしておいてください。
printall_2.bat を実行すると、filelist.txt で指定したファイルを連続して印刷します。



○文字コードについて
日本語WindowsのバッチファイルはデフォルトでシフトJISです。
そのため、printall_1.bat も printall_2.bat も先頭で、文字コードをUTF-8に変更しています。( chcp 65001 )
バッチファイルをシフトJISで書いておけば、こんなことをしなくていいのですが、NUT3WのファイルリストをUTF-8にしているので、それを使えるようにするために、バッチファイルもUTF-8になっています。
NUT3WのファイルリストをUTF-8にしたのは、バッチファイルの作成に使われる可能性が高いWindows11のメモ帳がデフォルトでUTF-8になっているためです。
めんどうくさくてすみません。動作がおかしいときは、バッチファイル、filelist.txtの文字コードを確認してみてください。