da php a python -Problema fpdf - [RISOLTO]

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

da php a python -Problema fpdf - [RISOLTO]

Messaggio da treled »

Salve, sto convertendo un codice che avevo fatto in php ma in python per non far che devo avere attivo il web server.. lo vorrei fare off-line e in una applicazione desktop.

Ora il mio codice php era questo:

Codice: Seleziona tutto

  $pdf = new FPDF('P','mm','A4');
		$pdf->AddPage();

		$pdf->Image($cartella.$nome,16,14,-300);
		$pdf->Image($cartella.$nome,106,14,-300);

		$pdf->Image($cartella.$nome,16,66,-300);
		$pdf->Image($cartella.$nome,106,66,-300);

		$pdf->Image($cartella.$nome,16,118,-300);
		$pdf->Image($cartella.$nome,106,118,-300);

		$pdf->Image($cartella.$nome,16,170,-300);
		$pdf->Image($cartella.$nome,106,170,-300);

		$pdf->Image($cartella.$nome,16,222,-300);
		$pdf->Image($cartella.$nome,106,222,-300);

		$pdf->Output();
convertito in questo:

Codice: Seleziona tutto

from fpdf import FPDF
pdf=FPDF('P','mm','A4')
pdf.add_page()
pdf.image('./b.png',16,14,-300,'png')
pdf.image('./b.png',106,14,-300,'png')
pdf.image('./b.png',16,66,-300,'png')
pdf.image('./b.png',106,66,-300,'png')
pdf.image('./b.png',16,118,-300,'png')
pdf.image('./b.png',106,118,-300,'png')
pdf.image('./b.png',16,170,-300,'png')
pdf.image('./b.png',106,170,-300,'png')
pdf.image('./b.png',16,222,-300,'png')
pdf.image('./b.png',106,222,-300,'png')
pdf.output('tuto1.pdf','F')
con la libreria:
https://code.google.com/p/pyfpdf/

ma tutto dice che b.png:
RuntimeError: FPDF error: Not a PNG file: ./b.png

ho provato vari formati. ma dice quello.

ora dal wiki:
https://code.google.com/p/pyfpdf/wiki/Image

ma come mai non funziona .. e poi e la solita lib.?

come mai?

il png e 1050x600 a 300 dpi.

idea? come risolvere?

grazie mille.
Ultima modifica di treled il martedì 29 luglio 2014, 11:41, modificato 2 volte in totale.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: da php a python....

Messaggio da Zoff »

Posta il risutlato di questo comando:

Codice: Seleziona tutto

file b.png
Dato nella cartella in cui si trova l'immagine b.png.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

ciao cosa file ?

e una funziona , variabile, etc.
perché mi da syntax error. (python).

ora sono su windows , penso che sia un comando di linux?
appena posso vado sotto linux.

ciao.
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

scusa, ma mi ci vuole tempo.. perché non mi parte più ubuntu sotto vbox .,. perché linux lo tengo sotto vbox ..

mi dici cosa devo vedere con gimp.
grazie mille.
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

Codice: Seleziona tutto

Traceback (most recent call last):
  File "D:\python\py3k.py", line 4, in <module>
    pdf.image('./b.png',16,14,0,-300,'png')
  File "C:\Python34\lib\site-packages\fpdf\fpdf.py", line 896, in image
    info=self._parsepng(name)
  File "C:\Python34\lib\site-packages\fpdf\fpdf.py", line 1642, in _parsepng
    self.error('Not a PNG file: '+name)
  File "C:\Python34\lib\site-packages\fpdf\fpdf.py", line 221, in error
    raise RuntimeError('FPDF error: '+msg)
RuntimeError: FPDF error: Not a PNG file: ./b.png
ecco cosa dice tutto.
Avatar utente
SuperStep
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2037
Iscrizione: lunedì 19 dicembre 2011, 16:26
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile
Località: Somma Vesuviana (NA)

Re: da php a python....

Messaggio da SuperStep »

php ha anche un interprete testuale, si lancia da riga di comando

Codice: Seleziona tutto

php --help
[EDIT]
quindi non devi tener attivo il webserver
ubuntu 16.04 LTS 64-bit - Memoria: 31,3 Gib - Processore: Intel Core i7-5960X CPU @ 3.00 GHz × 16 - Grafica: AMD Radeon HD 7800 Series - Disco: SSD 256 GB x 4 (RAID 01)
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

quasi risolto, avevo sbagliato versione .. con quella su github ha funzionato.. ma non fa il solito effetto??
come risolvo?
ecco il codice:

Codice: Seleziona tutto

from fpdf import FPDF
pdf=FPDF('P','mm','A4')
pdf.add_page()
pdf.image('./b.png',16,14,-300,-300,'png')
pdf.image('./b.png',106,14,-300,-300,'png')
pdf.image('./b.png',16,66,-300,-300,'png')
pdf.image('./b.png',106,66,-300,-300,'png')
pdf.image('./b.png',16,118,-300,-300,'png')
pdf.image('./b.png',106,118,-300,-300,'png')
pdf.image('./b.png',16,170,-300,-300,'png')
pdf.image('./b.png',106,170,-300,-300,'png')
pdf.image('./b.png',16,222,-300,-300,'png')
pdf.image('./b.png',106,222,-300,-300,'png')
pdf.output('tuto1.pdf','F')
doveva mettermi 10 biglietti da 1050x600 pixel a 300 dpi..

la versione in php è ok,

ma quella in python no?

non riesco a dicidare bene queste righe:
pdf.image('./b.png',106,118,-300,-300,'png')
perché se ometto qualche parametro mi da un errore float.

idea?
ti allego il file generato.

grazie mille.
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

SuperStep [url=http://forum.ubuntu-it.org/viewtopic.php?p=4624735#p4624735][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:php ha anche un interprete testuale, si lancia da riga di comando

Codice: Seleziona tutto

php --help
[EDIT]
quindi non devi tener attivo il webserver
si lo so ,. ma mi piacerebbe una versione con python.. che mi garba di più.
grazie lo stesso.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: da php a python....

Messaggio da Zoff »

Il punto è che probabilmente anche se si chiama b.png l'immagine NON è png.
Aprila con GIMP e salvala di nuovo come png e vedi se hai lo stesso problema.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

ecco vi allego i risultati.

questo con python:
tuto1.pdf
(3.74 KiB) Scaricato 45 volte
questo con php, senza toccare codice e che lo riporato in python:
filename.pdf
(3.92 KiB) Scaricato 58 volte

e se metto i parametri come quello in php,
mi segnala:

Codice: Seleziona tutto

D:\Python>b
Traceback (most recent call last):
  File "D:\Python\b.py", line 4, in <module>
    pdf.image('./b.png',16,14,-300,'png')
  File "C:\Python34\lib\site-packages\fpdf\fpdf.py", line 148, in wrapper
    return fn(self, *args, **kwargs)
  File "C:\Python34\lib\site-packages\fpdf\fpdf.py", line 977, in image
    self._out(sprintf('q %.2f 0 0 %.2f %.2f %.2f cm /I%d Do Q',w*self.k,h*self.k
,x*self.k,(self.h-(y+h))*self.k,info['i']))
TypeError: can't multiply sequence by non-int of type 'float'
grazie mille.
idea come fare?
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: da php a python....

Messaggio da Zoff »

Sicuramente il codice che ha generato quell'errore non è quello che hai postato. Manca un parametro.

Codice: Seleziona tutto

pdf.image('./b.png',16,14,-300,'png')
Doveva essere:

Codice: Seleziona tutto

pdf.image('./b.png',16,14,-300,-300,'png')
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

ok, ti allego i codici completi..
cosi facciamo prima..

Codice: Seleziona tutto

<?php
ob_end_clean ();

include_once("fpdf.php");

if(isset($_POST["submit"])) 
{ 
$percorso = $_FILES['carica_file']['tmp_name']; 

$cartella = 'upload/'; 

$nome = $_FILES['carica_file']['name']; 

$tipo_file = $_FILES['carica_file']['type']; 

if ($tipo_file == "image/png") { 

$info = getimagesize($percorso); 


if($info[0] == 1050 and $info[1] == 600) 
{ 

        if (copy($percorso, $cartella.$nome)) { 
         
        $pdf = new FPDF('P','mm','A4');
		$pdf->AddPage();

		$pdf->Image($cartella.$nome,16,14,-300);
		$pdf->Image($cartella.$nome,106,14,-300);

		$pdf->Image($cartella.$nome,16,66,-300);
		$pdf->Image($cartella.$nome,106,66,-300);

		$pdf->Image($cartella.$nome,16,118,-300);
		$pdf->Image($cartella.$nome,106,118,-300);

		$pdf->Image($cartella.$nome,16,170,-300);
		$pdf->Image($cartella.$nome,106,170,-300);

		$pdf->Image($cartella.$nome,16,222,-300);
		$pdf->Image($cartella.$nome,106,222,-300);

		$pdf->Output();
		echo "Upload eseguito con successo";
		
		unlink($cartella.$nome); 

        } else { 

        echo "Si sono verificati dei problemi durante l'Upload"; 

        } 
}else 
{ 
    echo "Dimensione non valida"; 
} 


} else { 

echo "Tipo di file non riconosciuto"; 

} 
} 
?> 
<div align="center"> 
<form action="" method='POST' enctype='multipart/form-data'> 
<p>Scegli  da caricare dim:  "1050x600px - 300 dpi"</p> 
<p><input type='file' name='carica_file'></p> 
<p><input type='submit' name="submit" value='Carica'></p> 
</form> 
</div>
questo in python:

Codice: Seleziona tutto

from fpdf import FPDF
pdf=FPDF('P','mm','A4')
pdf.add_page()
pdf.image('./b.png',16,14,-300,'png')
pdf.image('./b.png',106,14,-300,'png')
pdf.image('./b.png',16,66,-300,'png')
pdf.image('./b.png',106,66,-300,'png')
pdf.image('./b.png',16,118,-300,'png')
pdf.image('./b.png',106,118,-300,'png')
pdf.image('./b.png',16,170,-300,'png')
pdf.image('./b.png',106,170,-300,'png')
pdf.image('./b.png',16,222,-300,'png')
pdf.image('./b.png',106,222,-300,'png')
pdf.output('tuto1.pdf')
salvato in b.py
e il file e b.png
però come dicevo mi da quel errore.

idea?

grazie mille.
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

Zoff [url=http://forum.ubuntu-it.org/viewtopic.php?p=4624752#p4624752][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Sicuramente il codice che ha generato quell'errore non è quello che hai postato. Manca un parametro.

Codice: Seleziona tutto

pdf.image('./b.png',16,14,-300,'png')
Doveva essere:

Codice: Seleziona tutto

pdf.image('./b.png',16,14,-300,-300,'png')
solito effeto.. ti allego l'immagine

la library che uso si trova qui:
http://www.fpdf.org/

quello per il php.

idea?
Ultima modifica di treled il lunedì 28 luglio 2014, 21:19, modificato 1 volta in totale.
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

scusa, molto poi modificare il post e mettere l'immagine come allegato invece thumb.?
non so come si fa.

grazie
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

Re: da php a python....

Messaggio da treled »

risolto il problema.. Alleluia !!..
era cosi:

Codice: Seleziona tutto

from fpdf import FPDF
pdf=FPDF('P','mm','A4')
pdf.add_page()
pdf.image('./b.png',16,14,90,50)
pdf.image('./b.png',108,14,90,50)
pdf.image('./b.png',16,66,90,50)
pdf.image('./b.png',108,66,90,50)
pdf.image('./b.png',16,118,90,50)
pdf.image('./b.png',108,118,90,50)
pdf.image('./b.png',16,170,90,50)
pdf.image('./b.png',108,170,90,50)
pdf.image('./b.png',16,222,90,50)
pdf.image('./b.png',108,222,90,50)
pdf.output('b.pdf','f')
dovevo dare le misure w=, h= in millimetri ovvero 90x50.

vi ringrazio molto e viva python..

grazie mille.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: da php a python -Problema fpdf

Messaggio da Zoff »

Ricorda il [Risolto] nel titolo.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 13 ospiti