※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

@あれこれ-2010年8月



[2010-08-27]

pdf pdf pdf はてなブックマークに登録

pdfcrowd WEBサービス

Convert HTML to PDF | Online HTML to PDF API
URL指定やローカルにあるHTMLファイルのアップロード、HTMLコード直接入力や
用意されているWYSIWYG HTML editorでの入力・編集に対応したPDF変換サービス。

オプション設定やAPIを利用するにはユーザ登録が必要だけど、たまの利用なら
ビジターで充分じゃないでしょうか。
見ているページを変換するGoogle ChromeやFirefox用のExtensionsもあるし。

ただし、Shift_JISで書かれたページURL指定とファイルULの場合は、metaタグで
Shift_JIS が指定されていないとダメです。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
</head>

まあ、ソースを直接貼り付ければいいわけだし。

[2010-08-05]

pdf pdf はてなブックマークに登録

GMailのメールデータを纏めて pdf

引き渡す必要が生じた。
相手の環境が分からないので、PDF にすることにした。

1.一旦、POP3 でローカルに保存したメールをエクスポートする。
  Edmax の場合、
  必要なら事前に振り分け設定をしておく
  エクスポートしたいメールを(複数)選択、[ファイル]→[エクスポート]
  [テキスト]か[メールボックス + UNIX MBOX]形式
2.エクスポートしたデータ(テキスト)を OpenOffice.org Writer で開き、
  メールの区切り文字列を検索、必要分、Ctrl + Enter で改ページを挿入。
  [ファイル]→[PDF としてエクスポート]

改メージを挿入するのがかなり面倒だけど、後でしおりをつけて見やすくするには必須。
メールを個々にエクスポートできれば PDF Designer - Text Edition でもいいのだけど
予めテキストにしおり位置をマークしておけば、その行をしおりにして PDF に変換して
くれるような便利なツールは無いですか?(プリンタドライバとして動作するものはメ)

しおりの設定・追加は PDF OutLineMaker 、PDF の結合は pdfpdfpdf.com

(2010-11-24追記)
MailExp でMBOX形式のメールを1メール1ファイルにエクスポートする方が楽です。
参照:@あれこれ-2010年11月

サイト纏めて PDF

wkhtmltopdf は url/パスを指定してページを PDF に変換するツール。
残念ながら、Shift_JIS や EUC-JP で書かれたページは文字化けする。
なら、ローカルに DL して UTF-8 にしちゃえばいいわけで。

wget は WGET for Windows (win32) を使用、dll とか不要なので。
もちろん、 GnuWin32 Wget(Binaries)
Dependencies(libintl3.dll,libiconv2.dll,libssl32.dll,libeay32.dll) でもOK。
nkf は nkf.exe nkf32.dll Windows用 v.2.x 最新版を使用(UTF-8 対応はv2.0以上)。

html2pdf.ahk
(ahkファイルはwkhtmltopdf.exe一式を展開したディレクトリにあり、wget, nkfには
パスが通ってる。そうじゃない場合は絶対パスや作業ディレクトリの指定が必要かも)
wget = wget.exe
nkf = nkf.exe
html2pdf = wkhtmltopdf.exe
dir = E:\pdf
url = %Clipboard%

; クリップボード内のurlを指定して一次ファイルに保存
Runwait, %wget% -q -O web.html %url%
; 保存したhtmlファイルをUTF-8(BOMつき)に変換、上書き
Runwait, %nkf% -w8 --overwrite web.html

InputBox, name, pdf file, , , 100, 100 ; PDFファイルの名前を決めて
RunWait, %html2pdf% web.html %dir%\%name%.pdf ; 変換
IfExist, %dir%\%name%.pdf ; 一次ファイルを削除
  FileDelete, web.html

exitapp

んで、サイトを一纏め PDF化は、こんな流れで出来ますのあ。
サイトの構成をまんま再現するわけじゃないし、ページ数があまりにも多い場合は
PDFのサイズばかりでかくなって実用的じゃない気がするけどね。

;;;wget サイトごと DL
RunWait, wget -r -np -nH -m -k -l 2 -P %dir% %url%
; -r : 再起的取得する
; -np : 上のURLは辿らない
; -nH : ローカルのディレクトリからhost名をはずす
; -nd : ローカルにディレクトリ階層を作らない
; -m : ミラーリング(同じであれば2度は取得しない)
; -k : 絶対URLを相対URLに変換する
; -l n : 取得するリンクの階層を指定
; -P : 保存ディレクトリ指定

;;;nkf 拡張子 htmlのファイルを全てUTF-8(BOMつき)に変換、上書き
Run, nkf -w8 --overwrite *.html

;;; 全てのhtmlファイルのパスを一行に書き出してwkhtmltopdfの引数に
Loop, %dir%\*.html , , 1
  {
    FileAppend, %A_LoopFileFullPath%%A_Space%, list.txt
  }
FileRead, pages, list.txt

; PDFに変換
Run, wkhtmltopdf %pages% %dir%\%name%.pdf
; --outline-depth <level> : しおり作成のレベル(hタグのレベル)
; リストファイルを削除
IfExist, %dir%\%name%.pdf
  FileDelete, list.txt

cgiだったり拡張子がなかったりすることも多いので、パスを調べて拡張子を.htmlにする
工程も必要かも。


-