結論から簡単に言うと「PDF X-ChangeEditor」で「大きなページを並べて表示」で両面印刷。
印刷時に、「ページの配置とスケール」の タイプ「大きなページを並べて表示」 ズーム「100%」 重ね合わせ「0mm」 と設定して、両面印刷する。
結論から簡単に言うと「PDF X-ChangeEditor」で「大きなページを並べて表示」で両面印刷。
印刷時に、「ページの配置とスケール」の タイプ「大きなページを並べて表示」 ズーム「100%」 重ね合わせ「0mm」 と設定して、両面印刷する。
Buffalo の 有線レーザーマウス BSMBU18WH(だと思う)が手に馴染むので、長年愛用してたんだけど、スクロールのホイールが調子悪くなってきた。
具体的には、ホイールを一方向に回してもスクロールが進んだり戻ったりする。挙動がおかしい。
結論は、マウスホイールのロータリーエンコーダの3ピンの内1本が断線していた。半田付けし直して、無事修理完了。
このマウスは、ホイールを左右に傾けるとexcelなどで左右スクロールができるのだが、ホイールを傾けられるようにするため、構造状ロータリーエンコーダの足の部分が動く。長期間動かしていることで、金属疲労をおこし断線したと思われる。
そもそもロータリーエンコーダの3ピンのうち一本切れて動くのか?だが、
本の足のうち、1本はGNDで、残り2本からパルス(A相とB相)が出力されているらしい。今回はパルスの1本が切れていたので、なんとなく動いていたらしい。
ロータリーエンコーダの挙動も知れて勉強になったぜ。
A3見開きのパンフレットなどを、A4の小冊子印刷にしたい。無料で😅
目次
A3用にくっついたパンフレットなんかを、A4に分割して、背表紙を移動して、印刷する
PDF 印刷できるソフトから、「Microsoft Print To PDF」を使用して、分割したPDFを作成します。
私は、「PDF X-ChangeEditor」を使ってます。
印刷時に、「ページの配置とスケール」の
タイプ「大きなページを並べて表示」
ズーム「100%」
重ね合わせ「0mm」
と設定して、印刷すると、左右に分割したPDFが作成できます。
実は、PDF X-ChangeEditorは、ページ分割の機能があるのだけれど、有料のPRO版の機能なので、今回は使用しません。
背表紙を、一番最後のページに移動します。
私は、「CubePDF Utility」を使ってます。ページをドラッグするだけなんで、簡単。
あとは、プリンタドライバの小冊子印刷機能を使って印刷します。
Canon複合機のプリンタドライバには、小冊子印刷機能はあるが、今回のように分割しつつ印刷するのは対応できなさそう。(できるんならすんません)
皆さん、こんにちは。今回はWindowsバッチファイルを使用して、テキストやPDFファイルを開きつつ、その終了を待たずに次のコマンドに進む方法についてご紹介します。
まずは以下のように、START "sample.txt"と記述してみるかもしれません。しかし、これでは期待通りに動作しません。
START "sample.txt"
なぜなら、STARTコマンドは最初の二重引用符で囲まれたパラメータを新しいウィンドウのタイトルとして扱うためです。そのため、この書き方ではテキストファイルが正しく開かれず、次のコマンドに進むこともできません。
それでは、どうすればよいのでしょうか。以下の2つの方法があります。
1つ目の方法は、空のタイトル "" を指定することです。
START "" "sample.txt"
こちらの方法では、START コマンドが正しくテキストファイルを開き、その終了を待たずにすぐに次のコマンドに進むことができます。
2つ目の方法は、cmd /Cを使用することです。
cmd /C "sample.txt"
こちらの方法でも同様に、テキストファイルが開かれ、その終了を待たずにすぐに次のコマンドに進むことができます。
以上、Windowsバッチファイルを使ってテキストやPDFを開きつつ、その終了を待たずに次のコマンドに進む方法について解説しました。
ChatGPTで生成しました。
いわゆるTSVファイルのタブをスペースに置き換えて整形し直す。
自動処理の印刷用に使いたかった。
秀丸ではTSVの扱いが良いなと思ってる。
特に、「タブを含まない行はカラム幅の計算を無視する」というのがよい。
タイトルなどを入れておいてもフォーマットが崩れない。
同様の事をさせるPythonスクリプトを ChatGPT4.0に作らせた。
ほぼ ChatGPT 4.0 で生成できた。 ・タブがなければそのまま次へ。カラムの幅をカウントしない。のところに、不要な「print(line)」があって、 ・タブがなければそのまま出力するところの「print(line)」がなかったので、追加 と言うか、指示がまずかっただけかも。
もちろん、'/t' を ',' に変えれば、CSV2TXTにもなるはず。
import sys import unicodedata ## ほぼ ChatGPT 4.0 で生成したスクリプト ## 秀丸のTSV表示と同様にタブをスペースに置き換えフォーマットし直す。全角も考慮する。 ## 各カラムの最大幅を計算し出力するが、タブの無い行はそのまま出力する。 ## カラムが数値のみの場合右寄せにする。 def get_display_width(s): width = 0 for char in s: # W(全角)、F(全角)、A(アンビギュアス)の文字は2とカウント if unicodedata.east_asian_width(char) in 'WFA': width += 2 else: width += 1 return width def format_tab_separated_values(input_lines): # カラムの最大幅を保存するリスト max_widths = [] # 各行について for line in input_lines: # タブがなければそのまま出力 if '\t' not in line: continue # タブで区切られた値を取得 values = line.split('\t') # 新しいカラムが見つかった場合、max_widthsを拡張 while len(max_widths) < len(values): max_widths.append(0) # 各カラムについて for i, value in enumerate(values): # カラムの現在の最大幅を更新 max_widths[i] = max(max_widths[i], get_display_width(value)) # 再度各行について for line in input_lines: # タブがなければそのまま出力 if '\t' not in line: print(line) continue # タブで区切られた値を取得 values = line.split('\t') # 各カラムを最大幅に合わせてフォーマット for i, value in enumerate(values): padding = ' ' * (max_widths[i] - get_display_width(value)) # 数字のみなら右寄せ、それ以外は左寄せ if value.isdigit(): print(padding + value, end=' ') else: # 最後のカラムは右詰めせずに出力 if i == len(values) - 1: print(value, end='') else: print(value + padding, end=' ') print() def main(): lines = [] for line in sys.stdin: lines.append(line.rstrip()) format_tab_separated_values(lines) if __name__ == "__main__": main()
使い方は、こんな感じ。
tsv2txt.py < org.tsv > format.txt
org.tsv
タイトルなど、この行にはタブは無し 名前 生年月日 住所 数値 山田 太郎 1990-01-15 東京都渋谷区 4567 John Smith 1985-07-03 New York, USA 123 田中 みな子 1995-12-28 大阪府大阪市 9876 Emily Johnson 1992-04-10 London, UK 2345 佐藤 健太 1988-09-22 東京都千代田区 56789
これを変換すると、
タイトルなど、この行にはタブは無し 名前 生年月日 住所 数値 山田 太郎 1990-01-15 東京都渋谷区 4567 John Smith 1985-07-03 New York, USA 123 田中 みな子 1995-12-28 大阪府大阪市 9876 Emily Johnson 1992-04-10 London, UK 2345 佐藤 健太 1988-09-22 東京都千代田区 56789
こんな感じに変換できる。