[PHP] Stampare dati Form su immagine di sfondo con html

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
il form va bene cosi
devi mettere il font Fancy_Caps.ttf nella stessa cartella dove hai il file, l'hai già messo? se no scaricati il TFF
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
la variabile $nome non esiste metti direttamente il campo del form
PHP:
imagettftext($img, 16, 0, 166, 398, $nero, "Fancy_Caps.ttf", $_POST['nome']);
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
se ci fai caso io l'ho rinominato in Fancy_Caps.ttf perchè il punto genera un errore fallo anche tu, eventualmente metti un echo e vedi se te lo stampa lascia sempre il commento sulla prima riga, quando vedrai una serie di caratteri illeggibili vuol dire che l'immagina è pronta e puoi togliere il commento
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Non capisco il perché mi caccia sempre una finestra bianca


PHP:
<?php
// header("Content-type:image/jpeg");

$nome = isset($_REQUEST['nome']) ? $_REQUEST['nome'] : "inserisci il nome";

$img = imagecreatefromjpeg('http://oi67.tinypic.com/ix5pbq.jpg');

imagealphablending($img, true);
imagesavealpha($img, true);

$nero = imagecolorallocate($img, 0, 0, 0);

echo imagettftext($img, 16, 0, 86, 368, $nero, "Fancy_Caps.ttf", "Il fedele dell'Altissimo chiamato");

imagettftext($img, 16, 0, 166, 398, $nero, "Fancy_Caps.ttf", $_POST['nome']);

imagejpeg($img);
?>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
l'echo mettilo allinizio, anzi mettine di piu e vedi dove si ferma
PHP:
<?php
// header("Content-type:image/jpeg");
echo "inizio";

$img = imagecreatefromjpeg('http://oi67.tinypic.com/ix5pbq.jpg');

echo "img"; 
imagealphablending($img, true);
imagesavealpha($img, true);
echo "trasparenza";
$nero = imagecolorallocate($img, 0, 0, 0);
echo "colore";
imagettftext($img, 16, 0, 86, 368, $nero, "Fancy_Caps.ttf", "Il fedele dell'Altissimo chiamato");

imagettftext($img, 16, 0, 166, 398, $nero, "Fancy_Caps.ttf", $_POST['nome']);

imagejpeg($img);
?>
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Esce sempre una finestra bianca, ma questa volta è uscita questa scritta in alto a sinistra: inizioimgtrasparenzacolore


Edit: ho levato il commento // e mi compare un piccolo quadratino immagine in alto a sinistra nella finestra bianca.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova solo cosi
PHP:
<?php
header("Content-type:image/jpeg");
$img = imagecreatefromjpeg('http://oi67.tinypic.com/ix5pbq.jpg');
imagejpeg($img);
se non la vedi nemmeno cosi non saprei, prova a chiedere ad altervista se puoi utilizzare le funzioni delle librerie GD di php
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Non la vedo manco così.... Ma se integriamo al mio?

Le variabili ci sono, diciamo che c'è quasi tutto...


P.s. In che senso usare le librerie?
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
HTML:
<html>
<style type="text/css">
    div#container { width: 500px; height: 600px;}
    p#dichiarazione{text-align:center; font-size:1.2em; position:relative; top: 350px;}
    @font-face {
        font-family: "12th c. Fancy Caps";
        src: url(http://dl.dafont.com/dl/?f=12th_century_caps) format("truetype");
    }
    h1 { font-family: "12th c. Fancy Caps", sans-serif }
</style>
<div id="container" style='position: relative;'>
    <img src='http://iabasic1.altervista.org/images/certificato_funerale.jpg' style='position: absolute;top:0;lef:0;z-index: -1;'/>
    <p id="dichiarazione">
        <i>
            <b> <BODY TEXT="#8B0000"> Il fedele dell'Altissimo chiamato <br /> <?php echo $nome=$_POST["nome"] ; ?> <br /> dopo la prematura morte, <br /> ha ricevuto il sacramento del funerale, <br />
dal <?php echo $grado=$_POST["grado"]; ?> <?php echo $officiante=$_POST["officiante"]; ?><br />
nella Parrocchia di <?php echo $diofun=$_POST["diofun"]; ?>, Arcidiocesi di <?php echo $arcifun=$_POST["arcifun"]; ?>, <br />
in data <?php echo $datafun=$_POST["datafun"]; ?>.<br />
            </b>
        </i>
    </p>
</div>
</html>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
se vuoi salvare l'immagine con il tasto destro devi per forza fare in questo modo.
le librerie grafiche di php non sono disponibili per tutte le versioni forse altervista di default non le ha abilitate
prova questo codice e vedi cosa dice
PHP:
if (extension_loaded('gd')) {
    echo "estensione installata";
} else {
    echo "estensione non instalata";
}
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Mi ha aperto la solita finestra bianca con scritto in alto a sinistra "estensione installata"
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
allora non ho idea, prova ancora questo
PHP:
$img = imagecreatefromjpeg('http://oi67.tinypic.com/ix5pbq.jpg');
var_dump($img);
imagejpeg($img);
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
E' uscito: bool(false)

Mi sà che con quel tuo codice di prima c'è qualche variabile che non va ...
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
le ultime tre righe che ho postato a me funzionano sia online che in locale e su tutti i browser
clicca qui e dimmi cosa vedi
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
l'ultima prova che puoi fare poi davvero non mi viene in mente altro è salvarti l'immagine di sfondo nella stessa cartella e richiamarla cosi
PHP:
$img = imagecreatefromjpeg('ix5pbq.jpg');
var_dump($img);
imagejpeg($img);
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Si, ma sul sito con Jumi c'è un codice che fa il form che pesca il file pagina "certificato_funerale.php" dove c'è il codice e l'immagine di sfondo...

Vedo questo:
ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC $.' ",#(7),01444'9=82<.342ÿÛC 2!!22222222222222222222222222222222222222222222222222ÿÀXô"ÿÄ dÁf sÓŠ™‰b¸â “±ƒÇ÷»TÉÜ”ˆÏåGñsÈô£š2GJÌbŒß ¢“Ÿîþ‚Š«€˜ô8ïI÷[~”¹*x黊O÷±Iå8äô©”à¼“P½ŽjU%prA#ÇdA™OP3œt9%AõŽ„Ö-“*i÷qD¶åÒRJ&â„.Y@îFCy ®O‰N覬Ooi§išuš\E,í$K*D§j”n'$œäç¨QÖmUa‚ïNžuŠXÙíÝ™·ÂÈ»Š†'s+ÜÆ1È6—P²’;{MVéôýFÖ%ˆ¾ÐT©P݆Ð`ŽÃÉŠëWÓg‰Ø´Ú~’@@–Ib¨$dubqŒ…'š¸®¬WŠúÎñà¶ñ5°”2 þе‘˜ˆÆ@)=ˆ9 ßb– i“ÚC²ÉÉ1H6H$ŒxÀäç'¦·Û®otö¶H!··y¨ªãQEûõ§†ÏåEsœäzò)wrƒÇNh¢˜ ŸÿY¦î9SÜQE NìqƒŽHïIžsEÀ3Ç|“É žsœæŠ)gšLôçš(¦æ€>\u¢Š¤)AíEÀ;QÆßZ( á»þ”QE&þÕ¢ŠBŸj(¢˜ÏÿÙ
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Niente manco funziona quello....

Si, ma sul sito con Jumi c'è un codice che fa il form che pesca il file pagina "certificato_funerale.php" dove c'è il codice e l'immagine di sfondo...


PHP:
<?php
$nome = $_POST["nome"];
$grado = $_POST["grado"];
$officiante = $_POST["officiante"];
$arcifun = $_POST["arcifun"];
$diofun = $_POST["diofun"];
$datafun = $_POST["datafun"];
if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form
?>
<html>
<head>
<title>Certificato Funerale</title>
</head>
<body>
<form action="certificato_funerale.php" method="POST" target="foo" onsubmit="window.open('', 'foo','width=520,height=620,status=yes,resizable=yes,scrollbars=yes')">
Nome Defunto:<br />
<input type="text" size="12" maxlength="20" name="nome"><br />
Officiante Funerale:<br />
<input type="text" size="12" maxlength="20" name="officiante"><br />
Grado:<br />
<select name="grado">
<option value="Papa">Papa</option>
<option value="Cardinale Camerlengo">Cardinale Camerlengo</option>
<option value="Cardinale Romano Elettore">Cardinale Romano Elettore</option><option value="Cardinale Nazionale Elettore">Cardinale Nazionale Elettore</option>
<option value="Cardinale Nazionale Suffragante">Cardinale Nazionale Suffragante</option>
<option value="Cardinale Emerito">Cardinale Emerito</option>
<option value="Primate">Primate</option>
<option value=" Vice Primate">Vice Primate</option>
<option value="Vice Primate Primo">Vice Primate Primo</option>
<option value="Vicarius Urbis">Vicarius Urbis</option>
<option value="Patriarca">Patriarca</option>
<option value="Arcivescovo Metropolita">Arcivescovo Metropolita</option>
<option value="Vicario Generale">Vicario Generale</option>
<option value="Vicario Generale Aggiunto">Vicario Generale Aggiunto</option>
<option value="Vescovo">Vescovo</option>
<option value="Parroco">Parroco</option>
<option value="Abate Cistercense">Abate Cistercense</option>
<option value="Priore Cistercense">Priore Cistercense</option>
<option value="Monaco Cistercense">Monaco Cistercense</option>
<option value="Monaco Domenicano">Monaco Domenicano</option>
<option value="Presbitero">Presbitero</option>
<option value="Diacono">Diacono</option>
<option value="Suddiacono">Suddiacono</option>
<option value="Vicario Parrocchiale">Vicario Parrocchiale</option>
<option value="Arcidiacono Primo">Arcidiacono</option>
<option value="Arcidiacono">Arcidiacono</option>
<option value="Vicario Diocesano">Vicario Diocesano</option></select><br />
Arcidiocesi Funerale:<br />
<select name="arcifun">
<option value="Aquileia">Aquileia</option>
<option value="Genova">Genova</option>
<option value="Milano">Milano</option>
<option value="Firenze">Firenze</option>
<option value="Pisa">Pisa</option>
<option value="Siena">Siena</option>
<option value="Ravenna">Ravenna</option>
<option value="Roma">Roma</option>
<option value="Capua">Capua</option>
<option value="In Nave">In Nave</option></select><br />
Parrocchia Funerale:<br />
<select name="diofun">
<option value="Venezia">Venezia</option>
<option value="Padova">Padova</option>
<option value="Parenzo">Parenzo</option>
<option value="Pola">Pola</option>
<option value="Portogruaro">Portogruaro</option>
<option value="Treviso">Treviso</option>
<option value="Mantua">Mantua</option>
<option value="Udine">Udine</option>
<option value="Genova">Genova</option>
<option value="Chiavari">Chiavari</option>
<option value="La Spezia">La Spezia</option>
<option value="Albenga">Albenga</option>
<option value="Ventimiglia">Ventimiglia</option>
<option value="Milano">Milano</option>
<option value="Como">Como</option>
<option value="Lodi">Lodi</option>
<option value="Alessandria">Alessandria</option>
<option value="Novara">Novara</option>
<option value="Savona">Savona</option>
<option value="Pavia">Pavia</option>
<option value="Firenze">Firenze</option>
<option value="Pistoia">Pistoia</option>
<option value="Montevarchi">Montevarchi</option>
<option value="Pisa">Pisa</option>
<option value="Volterra">Volterra</option>
<option value="Livorno">Livorno</option>
<option value="San Miniato">San Miniato</option>
<option value="Massa">Massa</option>
<option value="Siena">Siena</option>
<option value="Orbetello">Orbetello</option>
<option value="Grosseto">Grosseto</option>
<option value="Santa Fiora">Santa Fiora</option>
<option value="Piombino">Piombino</option>
<option value="Modena">Modena</option>
<option value="Mirandola">Mirandola</option>
<option value="Guastalla">Guastalla</option>
<option value="Parma">Parma</option>
<option value="Fornovo">Fornovo</option>
<option value="Piacenza">Piacenza</option>
<option value="L'Aquila">L'Aquila</option>
<option value="Arezzo">Arezzo</option>
<option value="Montepulciano">Montepulciano</option>
<option value="Teramo">Teramo</option>
<option value="Silvi">Silvi</option>
<option value="Chieti">Chieti</option>
<option value="Sulmona">Sulmona</option>
<option value="Avezzano">Avezzano</option>
<option value="Tagliacozzo">Tagliacozzo</option>
<option value="Terracina">Terracina</option>
<option value="Pontecorvo">Pontecorvo</option>
<option value="Capua">Capua</option>
<option value="Sessa Aurunca">Sessa Aurunca</option>
<option value="Gaeta">Gaeta</option>
<option value="Sora">Sora</option>
<option value="Verona">Verona</option>
<option value="Rijeka">Rijeka</option>
<option value="In Nave">In Nave</option>
</select><br />

Data funerale:<br />
<script language="javascript" type="text/javascript" src="datetimepicker.js">

//Date Time Picker script- by TengYong Ng of http://www.rainforestnet.com
//Script featured on JavaScript Kit (http://www.javascriptkit.com)
//For this script, visit http://www.javascriptkit.com

</script>

<input id="demo1" type="text" size="25"><a href="javascript:NewCal('demo1','ddmmyyyy')"><img src="http://virgus87.altervista.org/images/cal.gif" width="16" height="16" border="0" alt="Pick a date"></a><br /><br />

<input type="submit" value="Crea certificato di Funerale" name="submit">
</form>

<?
} else {
echo "Il nuovo fedele dell'Altissimo chiamato ".$nome.",<br />";
echo "dal ".$grado." <i>".$officiante."</i><br />";
echo "nella Parrocchia di ".$diobat.", Arcidiocesi di ".$arcibat.",<br />";
echo "in data ".$databat.".<br />";
}
?>

HTML:
<html>
<script>
    window.onload = function () {
        print();
    }
</script>
<style type="text/css">
    div#container { width: 500px; height: 600px;}
    p#dichiarazione{text-align:center; font-size:1.2em; position:relative; top: 350px;}
    @font-face {
        font-family: "12th c. Fancy Caps";
        src: url(http://dl.dafont.com/dl/?f=12th_century_caps) format("truetype");
    }
    h1 { font-family: "12th c. Fancy Caps", sans-serif }
</style>
<div id="container" style='position: relative;'>
    <img src='http://iabasic1.altervista.org/images/certificato_funerale.jpg' style='position: absolute;top:0;lef:0;z-index: -1;'/>
    <p id="dichiarazione">
        <i>
            <b> <BODY TEXT="#8B0000"> Il fedele dell'Altissimo chiamato <br /> <?php echo $nome=$_POST["nome"] ; ?> <br /> dopo la prematura morte, <br /> ha ricevuto il sacramento del funerale, <br />
dal <?php echo $grado=$_POST["grado"]; ?> <?php echo $officiante=$_POST["officiante"]; ?><br />
nella Parrocchia di <?php echo $diofun=$_POST["diofun"]; ?>, Arcidiocesi di <?php echo $arcifun=$_POST["arcifun"]; ?>, <br />
in data <?php echo $datafun=$_POST["datafun"]; ?>.<br />
            </b>
        </i>
    </p>
</div>
</html>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
lo stesso codice sul mio sito funziona, vedi qui
il problema quindi deve essere sulla configurazione di altervista e per questo devi chiedere a loro (postagli quelle due righe di codice e chiedigli perchè restituiscono false) oppure ti tieni il codice come lo abbiamo fatto all'inizio e invece che salvare fai la stampa. Non vedo altre soluzioni.
 

Fuego2806

Utente Attivo
27 Lug 2016
72
2
8
Come lo adatteresti questo codice con immagine e font inserite anche tramite FTP e quindi da remoto (visto che Altervista accetta solo da remoto)...
PHP:
<?php
/**
 * Returns with of a line.
 * @param array $boudning_box Bounding box
 * @return Width of the box
 */
function line_width($bounding_box) {
 return abs($bounding_box[2] - $bounding_box[0]);
}


/**
 * Returns height of a line.
 * @param array $boudning_box Bounding box
 * @return Height of the box
 */
function line_height($bounding_box) {
 return abs($bounding_box[1] - $bounding_box[5]);
}


/**
 * Writes a line of text
 * @param resrouce $image PHP GD image
 * @param int $size Font size
 * @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
 * @param int $y Y-coordinate
 * @param int $color Color index
 * @param string $font Path to the font
 * @param string $text Text to write
 * @return Bounding box
 */
function write_line($image, $size, $x, $y, $color, $font, $text) {
 $bbox = imagettfbbox($size, 0.0, $font, $text);
 $width = line_width($bbox);
 $height = line_height($bbox);

 if ($x == 'LEFT') {
 $x = 0;
 } else if ($x == 'CENTER') {
 $x = (imagesx($image) - $width) / 2.0;
 } else if ($x == 'RIGHT') {
 $x = imagesx($image) - $width;
 }

 imagettftext($image, $size, 0.0, $x, $y + $height, $color, $font, $text);

 return $bbox;
}

/**
 * Writes multiples lines of text.
 * @param resrouce $image PHP GD image
 * @param int $size Font size
 * @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
 * @param int $y Y-coordinate
 * @param int $color Color index
 * @param string $font Path to the font
 * @param array $text Array of lines to write
 * @param int $padding Space between lines
 */
function write_lines($image, $size, $x, $y, $color, $font, $text, $padding = 0) {
 foreach ($text as $line) {
 $bbox = write_line($image, $size, $x, $y, $color, $font, $line);
 $y += line_height($bbox) + $padding;
 }
}




// Imposta lo header
header('Content-type: image/png');

// Legge i dati
$nome = $_POST['nome'];
$grado = $_POST['grado'];
$officiante = $_POST['officiante'];
$diocesi = $_POST['diofun'];
$arcidiocesi = $_POST['arcifun'];
$data = $_POST['datafun'];

// Legge l'immagine di sfondo ed imposta il colore del testo
$image = imagecreatefromjpeg("http://i.imgur.com/vOZBXEo.jpg");
$color = imagecolorallocate($image, 0x8B, 0x00, 0x00);

// Imposta le righe di testo da scrivere
$text = array(
 "Il fedele dell'Altissimo chiamato",
 $nome,
 "dopo la prematura morte,",
 "ha ricevuto il sacramento del funerale,",
 "dal $grado$officiante",
 "nella Parrocchia di $diocesi, Arcidiocesi di $arcidiocesi,",
 "in data $data"
);

// Scrive il testo
write_lines($image, 14, 'CENTER', 350, $color, "http://www.princexml.com/fonts/larabie/kimberle.ttf", $text, 5);

// Mostra l'immagine
imagepng($image);
 
Discussioni simili
Autore Titolo Forum Risposte Data
F [PHP] Stampare dati inviati tramite ajax PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
G leggere file txt e stampare con php il contenuto a video PHP 7
P [PHP] Aggiungere giorni e stampare risultato da data inserita in input PHP 3
P [PHP] Stampare record di diverse tabelle ma con nomi uguali PHP 6
K [PHP] Stampare tabella da database differenti. PHP 4
M Stampare con php e mysql PHP 8
L [PHP] stampare un'array di un database PHP 0
T PHP+MYSQL: stampare record con numero progressivo PHP 3
cristoforo58 Stampare dei valori XML in PHP PHP 0
elpirata [PHP] Stampare i valori di una variabile scritta su più righe PHP 1
K [PHP] Cancellare e Stampare tabella PHP 3
M [PHP] come stampare un Qr-code in FPDF PHP 8
N [PHP] stampare pagina html PHP 0
elpirata [RISOLTO]Stampare giorno della settimana in tabella php PHP 6
elpirata [PHP] [RISOLTO] Stampare classe css in base al risultato della query PHP 6
webmachine [PHP] Problema: Stampare tutte le occorrenza di una SELECT PHP 2
L Stampare immagine php PHP 2
F stampare array php PHP 2
P Stampare '<?' in php PHP 7
G Stampare valori in più div con PHP e MySQL PHP 4
L PHP/MySQL: stampare da una tabella attributi raggruppati per genitore PHP 1
F stampare una select con php PHP 7
S Stampare il risultato di una query inner jon in php.... PHP 4
M Stampare contenuto pagine php criptate PHP 4
L Non riesco a stampare BitMap con PHP PHP 1
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0

Discussioni simili