Me gustaría agregar un texto generado dinámicamente. ¿Hay alguna manera de marcar con agua un PDF existente en Ruby?Marca de agua en PDF existente en Ruby
Respuesta
Esto lo hará:
PDF::Reader
para contar el número de páginas del archivo.
Prawn
para crear un nuevo documento PDF usando cada página del pdf de entrada como plantilla.
require 'prawn'
require 'pdf-reader'
input_filename = 'input.pdf'
output_filename = 'output.pdf'
page_count = PDF::Reader.new(input_filename).page_count
Prawn::Document.generate(output_filename, :skip_page_creation => true) do |pdf|
page_count.times do |num|
pdf.start_new_page(:template => input_filename, :template_page => num+1)
pdf.text('WATERMARK')
end
end
Sin embargo, en mis pruebas, el tamaño del archivo de salida era enorme, con la última versión de la gema de la gamba (0,12), pero después de señalar mi Gemfile en la rama principal en github, todo funcionó bien.
Echa un vistazo a Gambas (http://github.com/sandal/prawn) por solo rubí y Prawnto (http://github.com/thorny-sun/prawnto) por Ruby on Rails.
Probablemente desee utilizar la funcionalidad de incrustación de imágenes o la funcionalidad de la imagen de fondo.
He aquí un ejemplo del uso de una imagen de fondo http://cracklabs.com/prawnto/code/prawn_demos/source/general/background
Gambón solo puede incrustar imágenes en un pdf fresco creado con gambas, no en uno existente ... por lo que no funciona para mí. – Mike
ah, se perdió la parte * existente * en su publicación. Lo siento por eso. No creo que exista, a menos que lo convierta en una imagen y luego lo filtre. –
En realidad, parece que Prawn puede editar un PDF existente si usa ese PDF como plantilla: http://groups.google.com/group/prawn-ruby/browse_thread/thread/a8dd9bb83d2c2abd?pli = 1 y https://github.com/yob/prawn/tree/templates_2010. Personalmente no los he usado, ¿pero la información parece algo reciente? –
Otra opción es utilizar PDFTK. Se puede usar para agregar una marca de agua y crear un nuevo PDF. Tal vez gambas hará lo mismo con sus plantillas.
pdftk in.pdf background arecibo.pdf output wmark1.pdf
algo más de información: http://rhodesmill.org/brandon/2009/pdf-watermark-margins/
Hay una gema de rubíes envoltorio llamada active_pdftk que apoya backgrounding, por lo que no tiene que hacer los comandos de la cáscara sí mismo.
gamba no es compatible con las plantillas más ...
Prueba el combine_pdf gem.
Puede combinar, marca de agua, número de página y agregar texto simple a los archivos PDF existentes (incluida la creación de una tabla de contenidos simple sin enlaces PDF).
Es una biblioteca PDF muy simple y básica, escrita en puro Ruby sin dependencias.
Este ejemplo puede adaptarse a su situación (que es desde el archivo readme):
# load the logo as a pdf page
company_logo = CombinePDF.load("company_logo.pdf").pages[0]
# load the content file
pdf = CombinePDF.load "content_file.pdf"
# inject the logo to each page in the content
pdf.pages.each {|page| page << company_logo}
# save to a new file, with the logo.
pdf.save "content_with_logo.pdf"
- 1. Marca de agua con PDFBox
- 2. Marca de agua en System.Windows.Forms.TextBox
- 3. ¿Cómo puedo agregar una marca de agua a un archivo PDF existente usando PHP?
- 4. ¿Es posible en Ghostscript para añadir marca de agua a todas las páginas en PDF
- 5. Nombre de usuario como marca de agua
- 6. ¿Quién usa marca de agua de software?
- 7. Necesito crear un archivo PDF desde C# con otro archivo PDF como la marca de agua de fondo
- 8. ffmpeg y marca de agua png tema
- 9. ffmpeg marca de agua sin vhook?
- 10. ffmpeg marca de agua primeros 30 segundos
- 11. ¿Cómo editar o escribir en un PDF existente con Ruby?
- 12. Agregar una marca de agua de imagen invisible en C#?
- 13. Marca de agua para el cuadro de texto en MVC3
- 14. Adición de marca de agua de imagen a Pdf mientras se crea utilizando iTextSharp
- 15. Coloque la marca de agua en otras imágenes (C#, ASP.Net)
- 16. ¿Cómo paso una ruta de marca de agua variable a un procesador de marca de agua de clip?
- 17. agregando una imagen de marca de agua a una imagen
- 18. Reporting Services 2005 - ¿Cómo incrustar una marca de agua?
- 19. Carrierwave añadir una marca de agua a las imágenes procesadas
- 20. ITextSharp insertar texto en un pdf existente
- 21. Insertar página en PDF existente usando itextsharp
- 22. ¿Cómo obtener el número total de páginas del pdf existente en ruby on rails?
- 23. Insertar javascript para PDF existente
- 24. Insertar firma digital en el archivo pdf existente
- 25. ¿Cómo puedo configurar el límite de cobertura de código como marca de agua máxima en TeamCity?
- 26. ¿Cómo reemplazar una palabra en un PDF existente usando Ruby Prawn?
- 27. jQuery watermarkinput plugin POSTs valores de marca de agua en el servidor
- 28. marca de agua de texto en el sitio web? ¿cómo hacerlo?
- 29. Cómo agregar marca de agua en el widget de Android EditText?
- 30. ¿Cómo podría agregar un efecto de marca de agua a una imagen en Android?
Puede pasar la opción ': template' a' Prawn :: Document' y luego simplemente recorrer las páginas de esa manera. Eso mantendrá el tamaño del archivo de salida mucho más cerca del tamaño del archivo de entrada. – siannopollo
Gamba ya no es compatible con la edición/combinación de dos archivos PDF en uno. Verifique la respuesta de @Myst para obtener una solución actualizada. –