kdconvは、画像で構成されたPDFファイルをKindleやソニーリーダで読みやすい解像度へ変換するためのプログラムです。
ソニーリーダー用に変更したい場合には '-f sonyreader' オプションを指定します。
% kdconf -f sonyreader input.pdf output.pdf
Kindle DX用に変換する場合は '-f kindledx' を指定します。-fオプションを指定しない場合、または、'-f kindle' を付けた場合にはKindle用に変換されます。この-fオプション追加に伴い、旧来Kindle DX用変換を指示するために使われていた-dオプションは obsolete になりました。また、この版ではv1.0.2で混入させてしまった、「pdftkがインストールされている環境では、複数ページ文章の変換に失敗する」問題も修正されています。ご面倒おかけして申し訳ありません。
kdconv は、単一シェルスクリプトファイルで構成されています。git をインストールされていない方でも、ブラウザから直接ダウンロードすることが可能です。お気軽にご利用ください。
ご意見、ご感想などお待ちしております。よろしくお願い致します。
pdftkの日本語の問題で、投稿させていただいたものです。
返信削除あれから、あれこれいじった末、PDFの画質を変化させることなく、PDFの「タイトル」、「著者名」、「作成者」、「サブジェクト」を挿入させることに成功しました。作成したPythonスクリプトを投稿しておきますので、もしよかったらお使いください。
# Pythonでかかれています。ライブラリとしてはPdfrwとrepotlabを使ってます。(というか、pdfrwで付属であったスクリプトをちょこっといじっただけです)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
from optparse import OptionParser
from pdfrw import PdfReader, PdfWriter, IndirectPdfDict
import codecs
def PDF_string_encoding(unicode_string):
return codecs.BOM_UTF16_BE + unicode_string.encode("utf-16be")
parser = OptionParser()
parser.add_option("-f","--file",dest="inputname",help="input file")
parser.add_option("-o","--output",dest="outputname",help="output file")
parser.add_option("-t","--title",dest="title",help="title name")
parser.add_option("-a","--author",dest="author",help="author name")
parser.add_option("-c","--creator",dest="creator",help="creator name")
parser.add_option("-s","--subject",dest="subject",help="subject")
(opts,args) = parser.parse_args()
inputs = opts.inputname
assert inputs
outfn = opts.outputname
assert outfn
writer = PdfWriter()
#for inpfn in inputs:
writer.addpages(PdfReader(inputs, decompress=False).pages)
writer.trailer.Info = IndirectPdfDict(
Title = PDF_string_encoding(unicode(opts.title,encoding='utf-8')),
Author = PDF_string_encoding(unicode(opts.author,encoding='utf-8')),
Subject = PDF_string_encoding(unicode(opts.subject,encoding='utf-8')),
Creator = PDF_string_encoding(unicode(opts.creator,encoding='utf-8')),
)
writer.write(outfn)
以上です。それでは。
コメント、ならびに、スクリプトの公開、どうも有難うございます。
返信削除将来、Pythonなどでスクリプトを書き直す機会がありましたら、是非、参考にさせていただきたいと思います。
どうもありがとうございました。
kindle3を購入しPDF最適かで調べていた所kdconvを知り非常に便利に使わせて頂いております。便利なツール有り難うございます。
返信削除ただ当方10.6なのですが、mktempでエラーが出てtempディレクトリ作成に失敗している様でしたので、パラメータを"-d -t"と変更した所正常にディレクトリが作成できました。
また細かい字のデータを倍のピクセルで144dpiで-tで実行すると、本文が極端に左したにズレて内容が殆どはみ出してしまいます。
-gravity centerを削除すると、defaultの左上で出力されます。
一旦jpegに出力してからresize以降を動かすと問題なさそうですが、標準サイズと異なり、本文が下地一杯に余白無しで配置されてしまいます。
色々試しましたがわかりませでした。上記について大変お手数ですがアドバイス頂けたらと思います。お手隙の時にでも…
よろしくお願い致します。
cinq さん、ご利用ありがとうございます!
返信削除mktemp の -d -t オプションの件、仰る通りバグです。申し訳ありません。教えていただいたとおりに修正させていただきました。
144dpiでのズレの件、直ぐには原因と対策を思いつかないのですが、是非、環境を作成し試行してみます。即答できず、ごめんなさい。
基調なご意見、感謝しております!
早速のお返事有難うございます。ずれる件ですがdpiが問題というより、サイズを大きくすると発生するようです。
返信削除KindleDXで-tを指定してもズレてしまいます。
お手数おかけしますが、宜しくお願い致します。
cinq さん、どうも有難うございます!
返信削除頂いたコメントのお陰で、問題が特定できました。バグです。ごめんなさい。
近いうちに公開いたしますので、今暫くお待ちください。
どうもありがとうございました。感謝いたします。
遅くなり申し訳ありません、cinqさんから教えていただきましたバグを修正しました版をv1.0.4として公開しました。お試し頂ければ有り難いです。
返信削除今回のご連絡、どうもありがとうございました。大変助かりました。