¿Cómo puedo convertir mediante programación documentos RTF al PDF?¿Existe una forma gratuita de convertir RTF a PDF?
Respuesta
OpenOffice.org se puede ejecutar en modo de servidor (es decir, sin ninguna GUI), puede leer archivos RTF y puede generar archivos PDF.
Esto es multiplataforma, pero no apto para aplicaciones de escritorio. Muy adecuado para correr detrás de un servidor web, sin embargo. – vladr
Eso es verdad. Como me dedico principalmente al lado del servidor Java, "multiplataforma" es mucho más importante para mí que "adecuado para una aplicación de escritorio" ;-) –
¿Alguien actualizaría esta publicación para dar algunas pautas sobre la configuración/directrices del lado del servidor? – Jerome
Utilice PDFCreator, una impresora gratuita de PDF. Solo imprime en pdf. Puedes controlar esto a través de COM. El código de ejemplo está en la carpeta COM del directorio de instalación.
Esto, por supuesto, solo funcionará en Windows. – vladr
PDFCreator for windows es el más fácil para documentos individuales.
También es posible automatizar la creación de PDF para grandes conjuntos de documentos convirtiéndolos a XML y usando XSLT y XSL-FO. Hay lots of tutorials para esto por ahí.
Para un lenguaje específico, como python, las bibliotecas existen para enviar a PDF de forma bastante trivial.
La única ventaja de XML sobre otras soluciones más simples es la extensibilidad. También puede generar su documento mediante programación en RTF, HTML, TXT o casi cualquier otro formato de texto.
Esto, por supuesto, solo funcionará en Windows. Desafortunadamente, aún no se ha aclarado para qué plataforma se requiere la solución. – vladr
naturalmente. Aunque la solución XSLT funcionará para casi cualquier plataforma. –
Usted tiene una serie de opciones dependiendo de:
- la plataforma (s) su solicitud se ejecuta en
- si su aplicación será una aplicación de servidor (por ejemplo, un servicio web que usted configurado una vez y luego se ejecuta), o una aplicación de escritorio ampliamente disponible (por ejemplo, algo que debe ser fácilmente descargable e instalable por muchas personas)
- si está dispuesto a poner poco o más esfuerzo de programación para que la solución funcione
- si usted es flexible en cuanto al lenguaje de programación que va a utilizar
Estas son algunas opciones:
- PDFCreator + COM
- Windows solamente
- Válido para PC y el servidor aplicaciones
- esfuerzo de programación medio
- cualquier lenguaje que le permite hablar COM
- OpenOffice (+ JODConverter - opcional)
- multiplataforma (Windows, Linux, etc.)
- adecuado para aplicaciones de servidor, como OpenOffice es un 100MB + descargar
- esfuerzo de programación de bajo
- Java (si se utiliza JODConverter), o cualquier otro idioma que puede interactuar con OpenOffice's UNO
- IText + Apache POI
- multiplataforma (Windows, Linux, etc.)
- apta para aplicaciones de escritorio y servidor
- alto esfuerzo de programación Java
EDITAR
He aquí un older post que tiene algo en común con su pregunta.
EDIT 2
Veo por sus comentarios que usted está en Linux y abierto a cualquiera de C++ o Java. Definitivamente el uso opción 2.
JODConverter
(Java): la biblioteca se encarga de desoveOpenOffice
en modo sin cabeza y hablandoUno
a él en su nombre. ProporcionaJODConverter
con un nombre de archivo de entrada y salida, así como los tipos de entrada y salida (por ejemplo, rtf y pdf), y cuando lo devuelve, el archivo de salida está listo.- C++: puede fork + exec uno (o más, para balanceo de carga) instancias de OpenOffice en modo headless (soffice escuchará solicitudes UNO en un socket ej. Puerto 8100.) Desde su aplicación use Uno/CPP para ordenar a OpenOffice que realice la conversión de la misma manera no
JODConverter
(ver el código fuente paraJODConverter
cómo hacer esto.)
/opt/openoffice.org3/program/soffice.bin \
-accept=socket,host=127.0.0.1,port=8100;urp; \
-headless -nocrashreport -nodefault \
-nolockcheck -nologo -norestore
estoy utilizando con éxito JODConverter
desde una aplicación Java para convertir tipos de documentos diversos (algunos documentos generados dinámicamente a partir de plantillas) para pdf
.
cómo combinar iText con poi para convertir rtf existente (con el texto ya dentro con el diseño) – user63898
Es posible que desee hacer una nueva pregunta específica para combinar los dos. Como dije, el esfuerzo de programación es alto. Sé que ya se hizo, vea la publicación de chsrinivas123 en http://www.experts-exchange.com/Software/Server_Software/Application_Servers/Java/Q_23023116.html. – vladr
iText no es compatible directamente con RTF, primero se requiere convertir el documento a HTML \ XHTML, lo que básicamente significa que otra capa que probablemente no se muestre exactamente como el RTF original, que acaba de probar, no estaba satisfecho, sigue buscando . – Stavm
PrimoPDF. Actúa como una impresora virtual, por lo que solo imprime y saca un PDF.
Mira PDF Printer
Cuatro años más tarde a la fiesta aquí, pero yo uso Ted en mi aplicación web.Genero RTF programáticamente, luego uso el script rtf2pdf.sh
incluido en el paquete para generar el PDF. Intenté con OOo y unoconv anteriormente, pero Ted demostró ser más rápido y más confiable en mi aplicación.
Veo que Ted no tiene ninguna opción para ocultar el texto oculto del archivo RTF, en el archivo PDF convertido. –
LibreOffice puede convertir documentos RTF a PDF a través de la línea de comandos.
Here son las instrucciones para instalarlo en CentOS.
Y este es un ejemplo para iniciar la conversión de código PHP:
<?php shell_exec('libreoffice4.2 --headless --invisible --norestore --convert-to pdf test.rtf'); ?>
Agradable, muchas gracias – dns
De todas las opciones, marqué esta opción hace 2 meses, y probablemente sea la peor para mí, malinterpretó por completo la estructura RTF y no puedo decir que la recomiende para hacer incluso pequeñas y documentos simples. y mucho menos uso comercial. no caiga en la opción 'línea de comando', obtendrá mejores resultados con Open Office aunque requiere más código de su parte. – Stavm
- 1. Linux: utilidad de línea de comandos ¿Convertir RTF a PDF?
- 2. Cómo convertir FlowDocument a rtf
- 3. Cómo convertir HTML a RTF en Perl?
- 4. Rieles: ¿Convertir HTML a PDF?
- 5. C# .net convertir HTML a RTF
- 6. buena biblioteca de PDF gratuita para Delphi
- 7. convertir pdf a svg
- 8. Cómo convertir una cadena rtf a texto en C#
- 9. Cómo convertir una cadena a RTF en C#?
- 10. convertir HTML a PDF
- 11. ¿Existe una alternativa gratuita al Exception hunter?
- 12. Convertir PDF a HTML
- 13. convertir a pdf base64Binary
- 14. Bash convertir a pdf
- 15. Convertir PDF a HTML
- 16. ¿Existe alguna forma mejor de convertir de UTCTime a EpochTime?
- 17. Android: Convertir PDF a imágenes
- 18. ¿Cómo convertir un pdf a una imagen?
- 19. Herramienta o biblioteca gratuita para convertir archivos Tiff a PDF en .Net
- 20. Biblioteca gratuita de PDF a TIFF en Windows?
- 21. Cómo convertir HTML ==> RTF en Java?
- 22. Delphi: la mejor manera de convertir rtf a texto
- 23. Lote Convertir PDF a XPS
- 24. Convertir PDF a imágenes automáticamente
- 25. ¿Existe una forma directa de agregar un documento PDF a otro usando iTextSharp?
- 26. ¿Existe una biblioteca de formato de SQL gratuita para .NET?
- 27. Convertir PDF a imagen en miniatura en Java
- 28. Forma gratuita Región web.config dinámica
- 29. Convertir imagen a PDF en Android
- 30. ¿Cuál es la forma más fácil de convertir una cadena xhtml a PDF utilizando Flying Saucer?
¿Cuál es su contexto? ¿Estás intentando hacer esto en el escritorio (las opciones de PDF Creator a continuación son buenas)? ¿Estás tratando de hacer esto como parte de una aplicación web? ¿Algo más? Por favor edite su pregunta para hacernos saber. – acrosman
¿Estás en Windows o en alguna otra plataforma? ¿Está buscando una solución java, una solución C/C++ o es indiferente? ¿Será esto una aplicación de servidor (por ejemplo, un servidor web) o una aplicación de escritorio (múltiples usuarios lo descargarán e instalarán?) – vladr
en el lado del servidor en linux C++ o java – user63898