Problema con img2pdf

Post Reply
User avatar
Armando
Posts: 3382
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Problema con img2pdf

Post by Armando »

Hola Foreros:

He venido usando img2pdf sin problemas, solo en un cliente img2pdf (con licencia) me crea el pdf de tamaño de un byte y
al intentar abrirlo me dice que el pdf tiene errores.

La vista previa se ve bien.

Alguien que haya superado este tipo de error, cómo lo resolvió?, puede ser la resolución de la laptop?

Saludos

SOI, s.a. de c.v.
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Problema con img2pdf

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Armando
Posts: 3382
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Problema con img2pdf

Post by Armando »

Maestro Antonio:

Gracias, voy a probar.

Saludos

SOI, s.a. de c.v.
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Problema con img2pdf

Post by karinha »

Armando, haces asi?

Code: Select all | Expand

FUNCTION Img2Pdf( aFiles )

   LOCAL ImageFileName := " ", ix, iErr := 0, ErrorText := " "
   LOCAL cString
   LOCAL cDestino := CurDrive() + ":\" + GetCurDir() + "PDF" + StrTran( Time(), ":", "" ) + ".pdf"
   LOCAL cFile := ""
   LOCAL x := 0
   LOCAL cTexto := ""
   LOCAL cLicCod := Space( 35 ) // Requerer o código de licença de uso da Image2Pdf

   cLicCod := GetPvProfString( "IMPRESSAO", "Image2PdfCode", Space( 35 ), ".\SISCOM.INI" )

   IF Empty( cLicCod )

  IF MsgGet( "Código de licença de Image2Pdf.dll", "Código de licença de Image2Pdf.dll", @cLicCod )

     WritePProString( "IMPRESSAO", "Image2PdfCode", AllTrim( cLicCod ), ".\SISCOM.INI" )

  ENDIF

   ENDIF

   IF Empty( cLicCod )

  cLicCod := "VERSAO_TRIAL"

   ENDIF

   cFile := cGetFile( "Arquivo PDF (*.pdf) | *.pdf |", "Salvar como...", NIL, NIL, .T., .T. )

   IF Empty( cFile )

  RETURN NIL

   ENDIF

   cFile := Lower( StrTran( Upper( cFile + ".PDF" ), ".PDF.PDF", ".pdf" ) )

   IF Len( aFiles ) > 0

  // Lembrando q. a dll tem q. estar no raiz do seu sistema
  hLib := LoadLib32( ".\dll32\Image2PDF StdCall.DLL" )

  iErr := I2PDF_License( AllTrim( cLicCod ) )

  // ensure that any EMF files are converted at highest quality
  iErr := I2PDF_MetaToNativePDF()

  iErr := I2PDF_UseEMFDeviceSize()

  iErr := I2PDF_SetDPI( 300 ) // Set PDF DPI to the same as the image

  // Build the pages using the array of image files
  FOR ix := 1 TO Len( aFiles )

     ImageFileName := aFiles[ ix ]

     IF ( iErr := I2PDF_AddImage( ImageFileName ) ) # 0

        EXIT

     ENDIF

  NEXT

  // Create the PDF.
  iErr := I2PDF_MakePDF( RTrim( cFile ), 0, ErrorText, 40 )

  FreeLib32( hLib )

   ENDIF

   ShellExecute( oMainWnd:hWnd, "Open", cFile,,, 0 )

RETURN NIL

// DLL API proptotypes (declarações)
DLL32 STATIC FUNCTION I2PDF_License( cLicCode AS LPSTR ) AS LONG;
      PASCAL FROM "I2PDF_License" LIB hLib

DLL32 STATIC FUNCTION I2PDF_MetaToNativePDF() AS LONG;
      PASCAL FROM "I2PDF_MetaToNativePDF" LIB hLib

DLL32 STATIC FUNCTION I2PDF_UseEMFDeviceSize() AS LONG;
      PASCAL FROM "I2PDF_UseEMFDeviceSize" LIB hLib

DLL32 STATIC FUNCTION I2PDF_AddImage( cImage AS LPSTR ) AS LONG;
      PASCAL FROM "I2PDF_AddImage" LIB hLib

DLL32 STATIC FUNCTION I2PDF_SetDPI( nDpi AS LONG ) AS LONG;
      PASCAL FROM "I2PDF_SetDPI" LIB hLib

DLL32 STATIC FUNCTION I2PDF_MakePDF( cOutFile AS LPSTR, nOptions AS LONG, cErrTxt AS LPSTR, nMaxESize AS LONG ) AS LONG;
      PASCAL FROM "I2PDF_MakePDF" LIB hLib

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
Armando
Posts: 3382
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Problema con img2pdf

Post by Armando »

Estimado Karinha:

Lo hago así:

Code: Select all | Expand

ACTION SavePdf(oDevice:cDocument)	<= es la vista previa que crea el RPreview

STATIC FUNCTION SavePdf(pdfFileName)
	LOCAL nVez			:= 0
	LOCAL oDevice		:= DEVICE
	LOCAL aFiles		:= oDevice:aMeta
	LOCAL cPdfFile		:= ""

pdfFileName := ALLTRIM(pdfFileName)

pdfFileName := ALLTRIM(SUBSTR(pdfFileName,AT(":",pdfFileName) + 1))

cPdfFile		:= TRUENAME(ALLTRIM(oApp:cPathPdfs) + "\" +  ALLTRIM(pdfFileName) + ".Pdf")

FOR nVez	:= 1 TO LEN(aFiles)
	IF nVez == 1
		/*
			-r = Pone la resolución en el archivo PDF generado
			-1 = Usa la resolución del archivo original
			-o = Va seguido del nombre del archivo PDF que será generado
		*/
		WaitRun("img2pdf.exe -$ 5544KWET56 -r -1 -o " +;
				 '"' + ALLTRIM(cPdfFile) + '"' + SPACE(01) +;
				 '"' + ALLTRIM(aFiles[nVez]) + '"',0)	// El cero es para evitar la ventana del DOS
	ELSE
		/*
			-p = Agrega a un archivo PDF existente
			 1 = significa que lo agrega al final del archivo existente
			-r = Pone la resolución en el archivo PDF generado
			-1 = Usa la resolución del archivo original
			-o = Va seguido del nombre del archivo PDF que será generado
		*/
		WaitRun("img2pdf.exe -$ 5544KWET56 -p 1 -r -1 -o " +;
				 '"' + ALLTRIM(cPdfFile) + '"' + SPACE(01) +;
				 '"' + ALLTRIM(aFiles[nVez]) + '"',0)	// El cero es para evitar la ventana del DOS
	ENDIF
NEXT

MsgInfo("Se creó el archivo: " + cPdfFile,oApp:cAplicacion)
RETURN(.T.)

En varias PC funciona de 100, solo en una

Saludos

SOI, s.a. de c.v.
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Problema con img2pdf

Post by karinha »

Prueba con esta verssión,

https://sourceforge.net/projects/image2pdf/

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
Armando
Posts: 3382
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Problema con img2pdf

Post by Armando »

Amigos del foro:

Pues no doy pie con bola:

Ya hice lo recomendado en el post del Maestro Linares, cambie la ruta donde crear el PDF, revosé permisos
de la carpeta, etc. etc. y nada.

Ya intente con la nueva versión recomendada por Karinha, con esta nueva versión me llevo a instalar Java y nada
ahora no crea el PDF ni con 1 byte.

Desde la vista previa seleccioné la impresora MICROSOFT PRINT TO PDF y no funciona, sin embargo
desde Word o Excel si funciona esa impresora.

Me estoy volviendo loco ! :shock:

Saludos

SOI, s.a. de c.v.
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Problema con img2pdf

Post by karinha »

Mira se ayuda,

https://pypi.org/project/img2pdf/

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Post Reply