トップ «前の日記(2011-08-14) 最新 次の日記(2011-08-28)» 編集

AOISAKURA 日記

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|04|05|06|07|08|09|12|
2013|02|03|05|06|08|09|10|11|
2015|11|
2016|12|
2017|03|08|
2018|01|03|06|
2019|05|07|09|10|
2020|01|02|03|
2021|03|07|
2022|06|
2023|11|
2024|07|

pixiv / twitter / github

bluesky / misskey / pawoo

※発信する情報は、個人の見解・意見であり、所属する会社の見解・意見ではありません。


2011-08-15 整理 [長年日記]

_ [event] C80 コピー本

コミックマーケット 80 で頒布した、Linuxwacom 本の pdf 及び、各ページを zip 圧縮したものを以下の通り、アップロードしました。

「会場で来たときには既にもぬけの殻だった」方や会場に来られなかった方へ。

ファイルが壊れてる等の不備がありましたら、twitter で w_sakurai までご一報いただけると助かります。pdf 版を evince 等で開いた時、エラー出力がバンバン流れるのは既知の問題として認識しています。

あと、コピー本作成時、セブンイレブンで出力する為に作成したデータも以下の通り配布します。印刷する際は、両面印刷の短編綴じで印刷して、順に重ねて中綴じしていただければ、ちょうど本の形式になるはずです。

  • 印刷用 PDF (13MB) - md5sum: 669477cafb15c4085e6167fe64a5ed11

セブンイレブンで出力できるであろうギリギリサイズの印刷データなので、それなりに大きいです。

_ [python][linux] reportlab と PIL でセブンイレブンでの印刷用 PDF を生成する

コミックマーケット 80 で頒布したコピー本は、セブンイレブンへ USB で持っていってコピー機で印刷したモノです。元となる PDF ファイルはReportLab のオープンソース版と、Python Imaging Library (PIL)を利用して生成しました、rst2pdf 等でも使われている構成です。

まず、印刷データを準備します。B5 の本を製作するため、B4 のページに 2 ページを貼り付けます、ページの並びは、紙両面に印刷して重ねて真ん中をホッチキス止めする事を想定して調整します。ファイルが作成できたら (comp_01.jpg〜comp_06.jpg)、以下のコードを実行します。表紙・裏表紙合わせて 12 ページ分、という想定です。

import Image
from reportlab.pdfgen import canvas
from reportlab.lib.units import cm
def pageCreate(canvas, image):
    canvas.setPageSize((36.4*cm, 25.7*cm))
    canvas.drawInlineImage(image, 0, 0, 36.4*cm, 25.7*cm)
    canvas.showPage()
if __name__ == '__main__':
    c = canvas.Canvas("ebook.pdf")
    pageCreate(c, Image.open('comp_01.jpg'))
    pageCreate(c, Image.open('comp_02.jpg'))
    pageCreate(c, Image.open('comp_03.jpg'))
    pageCreate(c, Image.open('comp_04.jpg'))
    pageCreate(c, Image.open('comp_05.jpg'))
    pageCreate(c, Image.open('comp_06.jpg'))
    c.save()

ページサイズ、描画する画像のサイズに印刷したい B4(JIS版 364mm x 257mm) のサイズを指定します。

なお、各ページの解像度は 350dpi で作成しています。600dpi だと印刷できないと跳ねられます。