Bash - dávkový převod HTML do PDF

Josef

Bash - dávkový převod HTML do PDF
« kdy: 24. 06. 2014, 12:03:43 »
Ahoj,
snazim se udelat prevod asi 100 souboru pomoci wkhtmltopdf, ale mam problem, ze jak je v souboru pouzit base64, tak se ve vyslednem pdf snimek neukaze. Da se to nejak obejit? Nebo zna nekdo jinou moznost jak davkove prevest soubor s base64 do PDF?
« Poslední změna: 25. 06. 2014, 21:59:58 od Roman Bořánek »


dword

Re:Bash davkovy prevod HTML do PDF
« Odpověď #1 kdy: 24. 06. 2014, 12:42:36 »
no napad by byl, pak uz jen to provest  ::)

Napsat si HTML konvertor, ktery kdyby nasel tag <img> s atributem src obsahujici base64 data, nahradil by src atribut cestou a vytvoril z base64 dat obrazek a ulozil ho do dane cesty, kde by se pak nacetl externe. Tim vznikne sada, ktera uz by se mela dat prevest i tim co neumi base64 kodovane obrazky.

Uznavam, ze je to to kanon na vrabce, mozna dobre jako posledni zalozni varianta, kdyby vse ostatni selhalo.

Predtim bych mozna zkusil latest devel build wkhtmltopdf, jestli to tam treba neni opraveno.

Josef

Re:Bash davkovy prevod HTML do PDF
« Odpověď #2 kdy: 24. 06. 2014, 13:01:49 »
program je podle stranek aktualni a to s tim obrazkem je celkem vrazda .... nebo aspon klidne i neco pro Widle co mi hromadne prevede vsechny html do pdf bych uvital

karel

Re:Bash davkovy prevod HTML do PDF
« Odpověď #3 kdy: 24. 06. 2014, 13:52:24 »
program je podle stranek aktualni a to s tim obrazkem je celkem vrazda .... nebo aspon klidne i neco pro Widle co mi hromadne prevede vsechny html do pdf bych uvital

zas takova vrzda to neni v pythonu celkem rychle, jinak taky se mi stava ze kdyz uz nevim kudy kam obracim se na win  :D

Re:Bash davkovy prevod HTML do PDF
« Odpověď #4 kdy: 24. 06. 2014, 14:17:46 »
Nerozumím tomu, co znamená „v souboru je pouzit base64“, a o jakém snímku v PDF je řeč. Chcete tím říct, že máte v HTML vložený obrázek (tag img), a tento obrázek není vložený přes odkaz, ale přímo Data URI jako např.
Kód: [Vybrat]
<img alt="snímek" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
Data URI je nestandardní rozšíření, podle mne je nejjednodušší to, co popisoval kolega – zkonvertovat to na normální obrázek vložený odkazem. Shánět další a další programy pro konverzi z HTML do PDF nemá podle mne smysl, protože to nestandardní rozšíření nejspíš také nebudou podporovat. Lepší je sehnat něco, co vám ta Data URI zkonvertuje na klasický odkaz – třeba Data URI Image Extractor.


Josef

Re:Bash davkovy prevod HTML do PDF
« Odpověď #5 kdy: 24. 06. 2014, 15:46:02 »
OK, zkousel jsem

Kód: [Vybrat]
define('UPLOAD_DIR', 'images/');
$img = $db['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';

ale soubor se mi nedari ulozit jako obrazek. NEmate nekdo funkcni kod?

wamba

Re:Bash davkovy prevod HTML do PDF
« Odpověď #6 kdy: 24. 06. 2014, 15:53:58 »
mě wkhtmltopdf (0.12.0), tento html soubor
Kód: [Vybrat]
<html>
  <head>
<title>pokus obrazek base64</title>
</head>
<body>
<h1>pokus obrazek base64</h1>
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot">
</body>
</html>

převede i s obrázkem

Josef

Re:Bash davkovy prevod HTML do PDF
« Odpověď #7 kdy: 24. 06. 2014, 16:07:23 »
Tenhle se mi nedari prevest

me se to prenest nedari ... nemuzu to sem ani pastnout, protoze je tu limit 20000 znaku

Kód: [Vybrat]
<img alt="" style="max-width:100%; max-height:100%;" src="data:image/png;base64,/9j/4AAQSkZJRgzacatek je ale stejnej

karel

Re:Bash davkovy prevod HTML do PDF
« Odpověď #8 kdy: 24. 06. 2014, 17:14:43 »
A je nutne pdf nestacil by obrazek ?
pac by to slo treba pres toto
http://xmodulo.com/2013/07/how-to-take-full-length-screenshot-of-web-page-in-linux.html

karel

Re:Bash davkovy prevod HTML do PDF
« Odpověď #9 kdy: 24. 06. 2014, 17:18:31 »
A je nutne pdf nestacil by obrazek ?
pac by to slo treba pres toto
http://xmodulo.com/2013/07/how-to-take-full-length-screenshot-of-web-page-in-linux.html

jen dodam ze jsem si vyjel napovedu a je tam i

-p, --printer=PRINTER      Print page on PRINTER (default: none, save as PDF)

takze by to melo take umet pdf

Josef

Re:Bash davkovy prevod HTML do PDF
« Odpověď #10 kdy: 25. 06. 2014, 09:01:37 »
Vyreseno...
V img tagu jsem pouzil stylovani, ktere se asi "neprelozilo". Misto style=... ted pouzivam primo definici vysky a sirky a funguje jak ma