Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

352
Views
Rellene el campo de texto PDF AcroForm con texto en negrita usando HexaPdf

Tengo una pregunta aparentemente simple, pero no puedo encontrar la respuesta. Tengo un formulario pdf preexistente. Rellenando el formulario manualmente, uno de sus campos de texto muestra su valor en negrita. Al usar HexaPdf para llenar este campo, el texto también debe aparecer en negrita, pero aparece en letra normal.

Lleno el campo con

 doc.acro_form.field_by_name('text1').field_value = @record.value

Para que esto se muestre en negrita, he intentado lo siguiente, sin éxito:

 doc.acro_form.field_by_name('text1').set_default_appearance_string(font: 'Helvetica-Bold', font_size: 0)

Aparece el mensaje de error "No se pudo encontrar la fuente solicitada 'Helvetica-Bold' en la variante 'ninguna'".

Entonces probé:

 doc.acro_form.field_by_name('text1').set_default_appearance_string(font: 'Helvetica', variant: :bold, font_size: 0)

Esto obtiene: "palabra clave desconocida: variante".

Las fuentes configuradas para el documento son:

{"Times"=>[:ninguno, :negrita, :cursiva, :bold_italic], "Helvetica"=>[:ninguno, :bold, :italic, :bold_italic], "Courier"=>[:ninguno, :bold , :cursiva, :bold_italic], "Símbolo"=>[:ninguno], "ZapfDingbats"=>[:ninguno]}

Así que Helvetica con la variante :negrita debería estar disponible.

¿Podría alguien decirme la sintaxis correcta? ¡Gracias por adelantado!

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Recibí esta respuesta de @gettalong en github:

"De hecho, es un problema ya que no hay forma de hacer esto actualmente con ese método; lo arreglaré para la próxima versión. Puede usar la siguiente solución hasta entonces:"

 name = doc.acro_form.default_resources.add_font(doc.fonts.add('Helvetica', variant: :bold).pdf_object) doc.acro_form.field_by_name('text1')[:DA] = "0 g /#{name} 0 Tf"

¡Muchos gracias!

over 4 years ago · Santiago Trujillo Report

0

Con la versión HexaPDF 0.18.0, esto ahora es directamente posible usando el argumento font_options para #set_default_appearance_string . ¡No se necesitan más soluciones alternativas!

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!