Como faço para converter o manual completo do AMD64 Gentoo em um PDF a partir da linha de comando?

2

Eu tenho escrito scripts shell para converter o Manual AMD64 do Gentoo Linux para PDF e esta é a minha atual script de 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
}

executando ghandall AMD64 && unit AMD64 fornece o manual AMD64 completo em formato PDF, embora o problema seja que o PDF resultante não possui a formatação fornecida pelos estilos CSS no formato HTML original do Manual. Por exemplo, isso:

éprocessadocomo:

no PDF final. Alguém sabe como eu posso superar esse problema? Se você recomenda que eu use um programa diferente para wkhtmltopdf para converter essas páginas da Web em PDF, assegure-se de que esteja livre, invocável a partir da linha de comando e disponível no Sabayon Linux.

    
por Brenton Horne 20.11.2015 / 11:26

0 respostas