Latar Belakang
Batch mengonversi berbagai file sumber yang disorot sintaksis (C, SQL, Java, PHP, batch, bash) menjadi gambar beresolusi tinggi (600dpi), cocok untuk eBook dan buku cetak.
Solusi yang Gagal
Sejumlah upaya sejauh ini:
- OpenOffice atau LibreOffice - Harus mengimpor kembali kode sumber ke dalam dokumen setiap kali file sumber berubah. (Yaitu, solusinya tidak dapat dengan mudah diotomatiskan untuk ratusan atau ribuan file sumber.)
- enskrip. Tidak dapat dengan mudah mengubah warna, menghasilkan output secara tidak sempurna, tidak komprehensif.
- LyX / LaTeX. Merender output secara tidak sempurna.
- gvim ke HTML - HTMLDOC ke PostScript - GhostScript to PNG. HTMLDOC mengabaikan
font
tag. - gvim ke HTML - html2ps - GhostScript to PNG. Warna RGB tidak dikenali oleh
html2ps
. - Firefox ke PostScript - GhostScript ke PNG. Sangat menjengkelkan.
- gvim to HTML - OmniFormat untuk apa pun. Versi gratis tidak cocok untuk pemrosesan batch; banyak pop-up iklan.
- pigmen. Tidak dapat dengan mudah mengubah resolusi gambar; tidak memiliki rentang skema warna gvim.
Solusi Terdekat
Solusi yang hampir berhasil adalah:
- gvim ke HTML - wkhtmltopdf ke PDF. Akan membutuhkan pasca pemrosesan dengan ImageMagick ( wkhtmltoimage tidak dapat mengatur resolusi gambar, hanya lebar halaman).
Persyaratan
- Windows dan Linux, tetapi keduanya dapat diterima.
- Gratis atau OSS
- Hanya baris perintah (cocok untuk pemrosesan batch)
- Mengubah skema warna dengan mudah
- Dukungan: PHP, batch, bash, Java, JavaScript, R, C, dan SQL
Pertanyaan
Adakah cara lain untuk mengonversi kode sumber yang disorot sintaksis ke gambar beresolusi tinggi (600dpi)?
Terima kasih!
gvim
syntax-highlighting
imagemagick
ghostscript
Dave Jarvis
sumber
sumber
wkhtmltoimage
dan mengatur lebar halaman tidak cukup? tingginya tidak dapat ditentukan karena ditentukan oleh konten barang html. lebar imho adalah yang Anda butuhkan, Anda dapat menghitung lebar yang dibutuhkan berdasarkan berapa banyak piksel per inci yang Anda inginkan.Jawaban:
Persyaratan Perangkat Lunak
Paket perangkat lunak berikut tersedia untuk sistem Windows dan Linux, dan diperlukan untuk solusi yang lengkap dan berfungsi:
Langkah Umum
Inilah cara solusinya:
FONT
tag yang disematkan ).Script menghasilkan gambar dengan lebar yang sama untuk file sumber yang berisi baris yang panjangnya di bawah 80 karakter. Sumber file dengan garis lebih dari 80 karakter menghasilkan gambar selebar yang diperlukan untuk mempertahankan seluruh baris.
Instalasi
Pasang komponen ke lokasi berikut:
C:\Program Files\Vim
C:\Program Files\Vim\vim73\colors
C:\Program Files\wkhtml
C:\Program Files\ImageMagick
C:\Program Files\GnuWin32
Catatan: ImageMagick memiliki program yang disebut
convert.exe
, yang tidak dapat menggantikanconvert
perintah Windows . Karena itu, path lengkapconvert.exe
harus hard-coded di file batch (sebagai lawan menambahkan ImageMagick kePATH
).Variabel Lingkungan
Setel variabel lingkungan PATH ke:
File Batch
Jalankan menggunakan:
Buat file batch yang dipanggil
src2png.bat
dengan menyalin konten berikut:Perbaikan dan optimalisasi disambut baik.
Catatan: Versi terbaru wkhtmltoimage dengan benar menangani mengesampingkan warna latar belakang. Dengan demikian, garis untuk menghapus CSS untuk warna latar belakang tidak lagi diperlukan, secara teori.
sumber
membaca halaman manual dari
wkhtmltoimage
:jika itu tidak membantu: meretas solusi sederhana dengan Qt dan (termasuk) Webkit cukup mudah.
sumber
dpi
opsi ini tidak tersedia dengan versi Windows.Anda juga dapat menggunakan Open Office untuk Html-> baris perintah formulir konversi PDF:
http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html
sumber
wkhtmltoimage
. Juga, solusi Anda bersifat teoritis. Jika Anda membuat file kumpulan kerja yang mereproduksi persis hasilsrc2png.bat
seperti yang diberikan dalam jawaban yang benar (dengan gambar latar transparan) dan mengonversi HTML dalam waktu yang lebih singkat daripada menggunakanwkhtmltoimage
saat menjadi solusi yang sepenuhnya otomatis, saya mendorong Anda untuk memposting hasil Anda sebagai alternatif . Juga, apa keuntungan dari penggantianwkhtmltoimage
dengan OpenOffice?