如何从命令行将完整的 AMD64 Gentoo 手册转换为 PDF?

如何从命令行将完整的 AMD64 Gentoo 手册转换为 PDF?

我一直在编写 shell 脚本来转换AMD64 Gentoo 手册Linux 到 PDF,这是我当前的 shell 脚本:

function ghand {
  # Input 1 is the architecture
  # Input 2 is the Page name.
  mkdir -p ~/Textbooks/Gentoo/$1/$2/..
  cd ~/Textbooks/Gentoo/$1/$2/..
  wkhtmltopdf https://wiki.gentoo.org/wiki/Handbook:"$1"/"$2" "${2##*/}".pdf
}

function ghandall {
  mkdir -p ~/Textbooks/Gentoo/$1 && cd ~/Textbooks/Gentoo/$1
  wkhtmltopdf https://wiki.gentoo.org/wiki/Handbook:"$1" "$1".pdf

  # Installation
  S=Installation
  L=('About' 'Base' 'Bootloader' 'Disks' 'Finalizing' 'Kernel' 'Media' 'Networking' 'Stage' 'System' 'Tools')
  for i in "${L[@]}"
  do
    ghand $1 "$S"/"$i"
  done
  unset L
  unset S

  # Working with Gentoo
  S=Working
  L=('EnvVar' 'Features' 'Initscripts' 'Portage' 'USE')
  for i in "${L[@]}"
  do
    ghand $1 "$S"/"$i"
  done
  unset L
  unset S

  # Working with Portage
  S=Portage
  L=('Advanced' 'Branches' 'CustomTree' 'Files' 'Tools' 'Variables')
  for i in "${L[@]}"
  do
    ghand $1 "$S"/"$i"
  done
  unset L
  unset S

  # Networking
  S=Networking
  L=('Advanced' 'Dynamic' 'Extending' 'Introduction' 'Modular' 'Wireless')
  for i in "${L[@]}"
  do
    ghand $1 "$S"/"$i"
  done
  unset L
  unset S
}

function unit {
  pushd ~/Textbooks/Gentoo/"$1"
  pdfunite "$1".pdf */*.pdf "Handbook:"$1"".pdf
  popd
}

运行ghandall AMD64 && unit AMD64给出了 PDF 格式的完整 AMD64 手册,尽管问题是生成的 PDF 不具有手册原始 HTML 格式中 CSS 样式提供的任何格式。例如,这个:

原始格式@Gentoo Wiki

被渲染为:

PDF 中的最终渲染

在最终的 PDF 中。有谁知道我如何克服这个问题?如果您建议我使用 wkhtmltopdf 以外的程序将这些网页转换为 PDF,请确保它是免费的、可从命令行调用并且可在 Sabayon Linux 上使用。

相关内容