Exportar campa帽a de MailChimp como PDF

wkhtmltopdf

Primero, debe usar la compilaci贸n est谩tica de wkhtmltopdfporque contiene una versi贸n parcheada de Qt. ESTO es muy importante para beneficiarse del caso de uso del mundo real como hiperv铆nculos en los que se puede hacer clic.

Usuarios de Mac: el homebrewpaquete no es suficiente. Utilice el .dmgarchivo y luego

sudo ln -s /Applications/wkhtmltopdf.app/Contents/MacOS/wkhtmltopdf /usr/bin/wkhtmltopdf

Comando b谩sico

Hasta ahora todo bien, el comando para convertir una p谩gina web a PDF es simple

wkhtmltopdf http://eepurl.com/sjd5r ~/Desktop/dotjs-announce.pdf

Un problema: tenemos cosas in煤tiles a bordo. No es bueno distribuir eso.

Ejecutar gui贸n

Tenemos la capacidad de pasar un script adicional a la URL remota antes de la renderizaci贸n.

Este es un script que tendr谩 que pasar al argumento como una cadena:--run-script

(function(document, undefined){

//Remove topbar and any stuff located in a .footer class (like MailChimp badge etc.)
Array.prototype.slice.call(document.querySelectorAll('#awesomewrap, [class*=footer]')).forEach(function(el){
el
.parentNode.removeChild(el);
});

//Images wrapped in hyperlink are clickable at their full height
Array.prototype.slice.call(document.querySelectorAll('a img')).forEach(function(el){
el
.parentNode.style.height = el.height || 'auto';
el
.parentNode.style.display = 'inline-block';
});

//Removes the top border (used by #awesomewrap)
document
.querySelector('html').style.border = 'none !important';
})(document);

La mejor manera es cargar el archivo desde su script de compilaci贸n, eliminar ncaracteres y escapar de forma segura.

As铆 que las cosas finales

wkhtmltopdf --run-script "`cat /path/to/above/script.js | tr 'n' ' '`" http://eepurl.com/sjd5r ~/Desktop/dotjs-announce.pdf

Disfrutar