FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema con img2pdf
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Problema con img2pdf
Posted: Tue Mar 24, 2026 11:49 PM

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.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problema con img2pdf
Posted: Wed Mar 25, 2026 05:47 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problema con img2pdf
Posted: Wed Mar 25, 2026 05:16 PM

Maestro Antonio:

Gracias, voy a probar.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Problema con img2pdf
Posted: Wed Mar 25, 2026 05:55 PM

Armando, haces asi?

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
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problema con img2pdf
Posted: Wed Mar 25, 2026 06:36 PM

Estimado Karinha:

Lo hago as铆:

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.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Problema con img2pdf
Posted: Wed Mar 25, 2026 06:57 PM

Prueba con esta verssi贸n,

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

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problema con img2pdf
Posted: Wed Mar 25, 2026 07:28 PM

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.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Problema con img2pdf
Posted: Wed Mar 25, 2026 07:38 PM

Mira se ayuda,

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

Regards, saludos.

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

Continue the discussion