shithub: rc

Download patch

ref: 0307ffc0d3c3ccef73202f099645a2663872e8e6
parent: eef67b503efb2ec9fbec704270207e720b15ce18
author: sl <sl@x1yg3>
date: Sun Jul 6 18:16:11 EDT 2025

add epub2pdf

--- a/INDEX
+++ b/INDEX
@@ -18,6 +18,7 @@
 df - du -h /root | tail -1
 dsrc - delete posts on a given barf website
 epub2html - convert epub to html
+epub2pdf - convert epub to pdf
 flac2alac - Convert FLAC to ALAC using ffmpeg.
 flac2mp3 - Convert FLAC to MP3 using lame.
 flacsplit - Split single FLAC into multiple files based on .cue sheet using shntool.
--- /dev/null
+++ b/epub2pdf
@@ -1,0 +1,28 @@
+#!/bin/rc
+# epub2pdf - convert epub to pdf
+# usage:  epub2pdf [-k] file.epub
+# depend: epub2html
+# bugs:   troff(1) cannot handle any and all fonts,
+#         so expect to see Weinberger pinups pop up.
+
+# set some defaults
+rfork e
+if(! ~ $#* 1) exit usage
+keep=yes
+name=`{basename $1 | sed 's/\.[Ee][Pp][Uu][Bb]//'}
+if(! test -f $name.html){
+    keep=no
+    epub2html $* || exit $status
+}
+temp=/tmp/epub2pdf-$pid
+mkdir $temp
+ifs='
+'
+
+# convert extracted epub to pdf
+for(file in `{awk -F" '/<a/ { print $2 }' $name.html})
+    html2ms < $"file >> $temp/out.ms
+doctype $temp/out.ms | rc | dpost -f >[2]/dev/null |\
+  ps2pdf '-dCompatibilityLevel=1.4' > $name.pdf
+rm -rf $temp
+if(~ $keep no) rm -rf $name.html $name^_files
--