0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pdfを小冊子形式で印刷する

Posted at

前提条件

pdfファイルは8, 16, 32ページなど8の倍数ページ
Google Colabを使用できる
Windows Powershellを使用できる

手順

  1. ilovepdfでpdfを複数のjpgに変換
  2. Google Colabを起動し以下のpythonコードを実行、powershellスクリプトで使用するリストをコピー。ページ枚数を正しく指定する。
def generate_booklet_order(page_num):
    if page_num % 8 != 0:
        print("page_num must be multiple of 8. "+str(page_num))
        return
    head = 1
    tail = page_num
    page_order = []
    for _ in range(page_num // 8):
        group = [
            tail, head,
            tail - 2, head + 2,
            head + 1, tail - 1,
            head + 3, tail - 3
        ]
        page_order.append(group)
        tail -= 4
        head += 4
    import itertools
    page_order = list(itertools.chain.from_iterable(page_order))
    for i in range(len(page_order)):
        page_order[i] += 1
    page_order = [f"{page - 1:02d}" for page in page_order]
    return page_order

def display(page_order):
  print('@(', end='')
  for i in range(len(page_order)-1):
    print('\'', end='')
    print(page_order[i], end='')
    print('.jpg\',', end='')
  print('\'', end='')
  print(page_order[len(page_order)-1], end='')
  print('.jpg\'', end='')
  print(')', end='')

display(generate_booklet_order(32))
@('32.jpg','01.jpg','30.jpg','03.jpg','02.jpg','31.jpg','04.jpg','29.jpg','28.jpg','05.jpg','26.jpg','07.jpg','06.jpg','27.jpg','08.jpg','25.jpg','24.jpg','09.jpg','22.jpg','11.jpg','10.jpg','23.jpg','12.jpg','21.jpg','20.jpg','13.jpg','18.jpg','15.jpg','14.jpg','19.jpg','16.jpg','17.jpg')
  1. 以下のpowershellスクリプトで名前を01.pngのように変換
Get-Item * | ForEach-Object {
 $oldName = $_.Name
 $right2 = $oldName.Substring(9, 2)
 Rename-Item $_.FullName -NewName "$right2.jpg"
 }
  1. Google Colabで作成したリストを貼り付け
$order = @(
>>     '32.jpg','01.jpg','30.jpg','03.jpg','02.jpg','31.jpg','04.jpg','29.jpg',
>>     '28.jpg','05.jpg','26.jpg','07.jpg','06.jpg','27.jpg','08.jpg','25.jpg',
>>     '24.jpg','09.jpg','22.jpg','11.jpg','10.jpg','23.jpg','12.jpg','21.jpg',
>>     '20.jpg','13.jpg','18.jpg','15.jpg','14.jpg','19.jpg','16.jpg','17.jpg'
>> )
  1. 以下のpowershellスクリプトで別フォルダにファイルを複製。narabikaeフォルダを同じ深さのところに作っておくとコピペで使える。
for($i = 0; $i -lt $order.Count; $i++){
 $origin = $order[$i]
 $newFileName = "$i.jpg"
 $destPath = "../narabikae/$newFileName"
 Move-Item -Path $origin -Destination $destPath
 }
  1. ilovepdfでjpgファイルをpdfに変換。20個ずつの制限があるため何回かに分けることになるかもしれない。
  2. pdfファイルを4in1形式で長編とじ両面印刷
  3. 長辺を半分に切り、小冊子になる様に並び替える。
  4. 完成

感想

もっといいやり方があれば教えてください

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?