R&OS: pdf class y acentos

Resulta que estoy trabajando con class.ezpdf.php de R&OS y al momento de usar acentos no los mostraba de manera correcta.

Buscando en la red me encontre con una solucion en la que se agrega una linea al codigo de class.pdf.php, el codigo que hay que agregar es este:

$text = utf8_decode($text);
Lo primero que hay que hacer es cambiar los permisos al archivo ya que es de solo lectura, una vez hechos los cambios se busca la linea 2156 y veran esto:

function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){
  if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');}

Se agrega la linea y queda asi:

function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){
  $text = utf8_decode($text);
  if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');}

Con esto los acentos se visualizan de manera correcta.

Anuncios

84 comentarios en “R&OS: pdf class y acentos

  1. miramire writes:Hola Héctor,Hice el cambio que indicabas en la línea de código 2156 y sigo sin poder ver los tildes.¿Qué más se podría hacer al respecto?Graciasm

  2. :eek: rayos miramire :nervous: mmm la verdad no se me ocurre otra opción mas que reiniciar apache :eyes: igua y no funciona pero fue lo primero que se me ocurrió

  3. Anonymous writes:Esta es una muy buena solución, otra forma de hacerlo es algo como:$pdf->addText(380,340,12,utf8_decode(" Por su participación en la Web Conference: "));

  4. rimax writes:qué buen aporte! muchas gracias, me has dado una gran mano, y a toda la comunidad también. Gracias totales y saludos cordiales desde Formosa, Argentina.

  5. Anonymous writes:que paso, hector, tengo el problema que tenian los demas solo que cuando utilizo la funcion addText me borra el texto y si no la utilizo me sigue mostrando caracteres raros, ojala sepas que pasa te lo agradeceria me urge…gracias…

  6. HolaAsí como lo describes no se cual pueda ser el error si pudieras enviarme el código para verlo y darme una mejor idea de lo que esta pasando :D

  7. Scandar writes:Me salio mal el dibujo, bueno… como dije en el post anterior quiero alinear verticalmente en una tabla con ezpdf, OJO vertical no horizontal. Se los agradeceria mucho si me dicen como se puede hacer o alguna forma de lograrlo. Gracias

  8. Scandar writes:Primero que todo, Muchas gracias me funciono la modificacion !Una consulta, en ezpdf se pueden centrar los datos de forma vertical?porque horizontal no tengo ningun problema…lo que pasa es que tengo mas de una tabla con:Nombre – E-Mail – Otros.El problema es que una persona puede tener mas de un mail y al ser asi me queda asi la informacion___________________________________________________|Nombre – | E-Mail – | Otros ||__________|____________________|__________________|| Juan | juan@mimail.com | otraInfo || | juan2@mimail.com | || | juan3@mimail.com | ||__________|____________________|__________________|me gustaria centrar de forma automatica que Juan quede en el centro verticalmente. nose si me explico bien, ojala me puedan ayudar. Muchas gracias de ante mano.

  9. Hola Scandar la verdad desconozco si se puede hacer lo que requieres, pero deja investigar y ver si encuentro algo en los códigos que tengo hechos :D

  10. Yei writes:Hola Hector, requiero de tu ayuda. Mira te comento… desarrollé una aplicacion php con dramweaver con windows y ensayé esta librería de pdf y me funciona a las Mil maravillas. Ahora requiero subir dicha aplicacion a un servidor linux para que todos los de la empresa hagan uso de ella, pero.. cuando intentamos generar el PDF no me muestra nada… la página se queda en blanco. Por casualidad y respecto a tus investigaciones, sabes porque sucede esto ?gracias

  11. Específicamente no recuerdo que módulos requiere R&OS, pero en los logs puedes verlos, intenta buscar en:/var/log/httpdahi veras varios archivos de texto tendrás que ver uno que dice "error.log" o algo parecido para ver su contenido es con el comandomore nombre_del_archivoy con la barra espaciadora avanzas en el contenido, busca los mensajes de PHP ahí tendrás que ver que modulo le falta, espero te ayude un poco

  12. hola Richard el articulo lo escribí hace un año y posiblemente habrán cambiado algunas cosas con R&OS la verdad es que ya no lo he usado, pero deja bajar nuevamente la librería y ver que puede estar pasando.saludos :D

  13. Richard writes:Buenas Héctor, qué tal?Le escribo desde San José, Costa Rica y lo felicito por el sitio.Estuve intentando solucionar mi problema con la línea de código que nos indica en este artículo, sin embargo, aún siguen saliendo símbolos raros en los acentos y la "ñ".Cuál podrá ser la razón? Le agradezco su colaboración!!Saludos

  14. Yeid writes:holaa como estas.. otra vez yo… esta vez quiero pedirte ayuda.. estoy trabajando con sql y php mediante conexion odbc… resulta que tengo una consulta sql y de esta depende lo que me imprima en el PDf mediante la libreria R&os …. Supongo que el error lo saca por la variable de php…Me explico.. cuando le doy crear al archivo PDF sale un eror diendo que el archino no empieza por '%PDF-' la consulta es la suiguiente:$sql = "SELECT e.Cedula,e.Nombre_completo, e.Cargo,e.Tipo_contrato, convert(char(10), e.Fecha_ingreso, 103) as Fecha,e.Salario_basicoFROM empleados ewhere e.Nombre_usuario='".$usuario."'";capturo mediante una variable lo que se ingresó en otro formulario, asi: $usuario=$_POST["txtUsuario"];y creo que es esa variable porque le doy un nombre de usuario valido y si me funciona. necesito imprimir los datos de la consulta sql depnendiendo del usuario qeu se loguee…Espero me ayudes, mil gracias…

  15. Richard writes:Yeid, a mi me pasó justamente ese mismo problema en un inicio y lo solucioné poniendo este codigo: "ob_end_clean();" (sin las comillas) justo antes de la línea: "$pdf->ezStream();". Espero te sirva.

  16. Richard writes:Jaja Hector, que fallo, no leí la fecha del artículo, que pena jaja.Bueno, de igual manera le agradezco si me puede ayudar, yo intentaré investigar tambien, cualquier cosa le informo.Saludos

  17. Richard no te preocupes tratare de ver si me pasa lo mismo Yeid el PHP lo programo orienta a objetos ya que es mas facil tener el control del codigo y facilita el presentar la informacion para R&os mmm mandame un correo (hreyes@myopera.com) para que pueda enviarte un ejemplo de como paso a pdf una consulta, solo que yo uso mysql

  18. Yeid writes:Muchas gracias a ambos… proximamente te enviaré un correo Hector…. efectivamente con la linea que me dio richard ya no me sale el error, pero ya no me trae los campos seleccionados de mi base de datos a el pdf…. Mil gracias

  19. Bantex writes:Hola!Para aquellos que no consiguen que les muestren acentos, pueden probar lo siguiente:Tal y como ponemos n para los saltos de línea, podemos usar estos códigos para mostrar acentos y eñes.341351355372363 – 361Aquí tenéis los códigos completos:http://es.wikipedia.org/wiki/ISO_8859Espero que os sirva, a mí me ha funcionado después de probar todo lo que comentaba la gente en todos los foros que visité.

  20. Yuju writes: Se desconfiguro el apache y ya no puedo generar los pdf me marca siguiente error A PHP Error was encounteredSeverity: NoticeMessage: Undefined index:Filename: libraries/class.pdf.phpLine Number: 1631Cuando antes funcionaba maravillosamente.¿Que puede ser?

  21. Anonymous writes:hola a todos en el foro tengo la siguiente duda respecto a los acentos y ñ al momento en que genero mi pdf.resulta que tengo una base de datos de la hago diversas consultas a los campos, pero cuando los quiero desplegar en mi pdf me aparecen caracteres raros y no logro mostrar ñ y acentos, pero cuando en mi cabecera cambio el charset a utf-8, o o pongo un utf8_encode o decode y con ayuda solo de un echo"algo"; su me muestra dichos caracteres, pero en el pdf no se muestra nada, ya probé con la linea de codigo proporcionada al principio y nada, ademas de cuales permisos de archivo te refieres ya se los di a mi servidor de archivos ftp o en propiedades de archivo y nada sigue mostrando caracteres raros.

  22. HolaOriginally posted by anonymous:

    uales permisos de archivo te refieres ya se los di a mi servidor de archivos ftp o en propiedades de archivo

    Los permisos son para que puedas modificar el archivo ya que si lo abres y haces las modificaciones posiblemente no te deje guardalas ya que el archivo es de "solo lectura" y el cambio de permisos es para que lo modifiques y cuando termines de hacerlo regresa los permisos que tenia.los permisos no lo haces sobre el servidor ftp, lo haces en las propiedades del archivo.mmm si no funciona ya con los cambios en el archivo no se que mas opciones ofrecerte :(

  23. Anonymous writes:gracias por comentar HECTOR, pero sigo aun con ese problema,en la linea 2156 de la clase pdf si me deja modificarlo, guardo y todo, al probar sigo con el error,ademas aunque le ponga que codifique o decodifique a utf8 sigue igual, tambien si utilizo el html entities, o si utilizo un incov, sigue sacando caracteres raros, no se que otra opcion utilizar, si tienes alguna sugerencia mas te lo agredeceria mucho, de antemano gracias, hasta luego.

  24. Anonymous writes:jejej una pregunta mas los permisos son permisos de archivo, en la parte de propiedades y deberá estar desmarcado "solo lectura" verdad¿? o es en otra propiedad. :)

  25. Joel writes:Hola, me sirvió mucho ese post. Pero ahora tengo otro problema:Yo genero mi pdf desde una base de datos y también le incluyo texto estático. Antes no me mostraba bien los acentos desde la base de datos pero lo estático si. Con esta solución ahora es al revés. El texto desde la BD me muestra bien los acentos pero no el texto estático.Ejemplo texto estático: $pdf->ezText("PROFRA. CONCEPCIÓN PRIETO NEVAREZ", 10,array('justification'=>'center'));Ejemplo texto dinámico: $pdf->ezText("ALUMNO: ".$data['nombres']." ".$data['apellido_paterno']." ".$data['apellido_materno']."n", 10,array('justification'=>'center'));Espero alguien sepa como hacerlo y me pueda ayudar, muchas gracias de antemamo!

  26. podrías intentar poner los acentos con los tags de html a = &aacute é = &eacute í = &iacute ó = &oacute ú = &uacute:confused: igual y funciona

  27. Anonymous writes:hola que tal! tengo una duda respecto a la justificacion del texto cuando genero mi pdf, resulta que utilizando la sentencia ezTExt($cadena,6,array('justification'=>'left')); si me justifica dependendio si lo quiero a la izq, der, center, y justf, la pregunta es si puedo manipular las posciones donde voy a agregar el texto contenido en mis cadenas de caracteres, si es asi me podrian decir como, ya intente con addText(x,y,tamaño de letra,$cadena); ayuda, please :)

  28. Anonymous writes:alguien sabe como utilizar addTextWrap(); ya cheque la documentacion de R&OS pero no me queda muy claro el uso de esa sentencia, ademas de que probé un pequeño ejemplo en internet, pero no solo pone una linea de texto y no muestra lo que falta de dicho texto, si alguien sabe como por favor comenten.

  29. de la documentación de R&OSSintaxis

    a=addTextWrap(x,y,width,size,text,[justification='left'][,angle=0])

    Will print the text string to the page at the position (x,y), if the string is longer than width, then it will print only the part which will fit within that width (attempting to truncate at a space if possible) andwill return the remainder of the string.'justification' is optional and can be set to 'left','right','center','centre','full'. It provides for thejustification of the text and though quite usable here, was implemented for the ezpdf class.y la url a un ejemplo, no se si funcione:http://code.google.com/p/oscmax2/source/browse/branches/dev/2.1/catalog/admin/includes/modules/batch_print/templates/Invoice.php?spec=svn744&r=744:up: espero te sirva y si es asi, avisanos

  30. Anonymous05 writes:con la primera solucion, originalmente tenia el problema de las vocales acentuadas, ñs y dierisis con ezTable en la region de las celdas (resuelto con la solucion publicada aqui), pero al llenar manualmente el arreglo de datos para ezTable las pone como ?;por que addText es utilizado por el ezTable para escribir los headlinesalguien soluciono esto ?

  31. Robert Frías writes:Hola Héctor, la verdad muy contrariado y espero puedas ayudarme, estoy generando informes con esta libreria, hice el arreglo en la línea que indicas y todo genial funciona correctamente, pero el momento que subo la página a la web vuelve el error a que crees que este pasando, de ante mano muchas gracias por tu gentil ayuda gracias.

  32. Hola Roberthacia tiempo que no usaba la librería, pero me pasa algo similar a ti, aun estoy buscando la razón, en cuanto la sepa créeme que la colocaré en el blogSaludos :spock:

  33. Damian Huerta writes:Hola buenas tardes.Espero no alla sido posteado este problema.Resulta que si coloco otro include, requiere, requiere_once o include_once aparte del requerido para ezpdf, solo muestra simbolos raros en la página web: %PDF-1.3 %���� 1 0 obj > endobj 2 0 obj > endobj 3 0 obj > >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj > endobj 6 0 obj > endobj 7 0 obj > stream x��TKN�0��^¢�c�?aI��@��ƭ����sq.�$mJTZ���3�7����L .�`�9n�`i�ή�I��t�����~^�J�v��P�~ޜG��O��8e�3�J�P��vM�;r@��n���Rt�c_Ձ�M��DZ��k5#c�^�ׇ�&Zn�"Ў�t����[-zt�I�A��ܿ��;Ȅ)�_����_v��Bp�� ���3���;���)q����@o�b]P-I��W�1������䘘#p�j�0�O8�s�8��������F���F�h&�,�|d����ȿqJP���>�)����Q�����)˥��(?���I"�1f�[��) ��C6�o>�PJ��p�G�a[�|̗uX�V1ˢ���~!��(�{��'~���[���p�gy��48P%�;C� endstream endobj 8 0 obj > endobj 9 0 obj > stream x��Z�n����S�`708$%�gol5�-C{)���e� �]��C�"/����GI���*g������TU��?~U�O�I��,r%���Wb���|Ң�JL�;����.�� �e.��dE�T�t�JC�Zư*��&���

  34. Anonymous writes:Eh el cambio lo hice solo en la linea 2156 del class.pdf.php en la version 9 y ya puedo ver la ñ, no hubo necesidad de tocar el class.ezpdf.php.

  35. gracias a Hector a mi me funciono de maravilla, me tenia loco el programa que no le encontraba el problema despues de no dormir casi 3 noche por encontrar esa solucion… andaba de post en post… hasta que por fin… saludos desde Bolivia

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s