diff --git a/flying-saucer-pdf-itext5/src/main/java/org/xhtmlrenderer/pdf/EmptyReplacedElement.java b/flying-saucer-pdf-itext5/src/main/java/org/xhtmlrenderer/pdf/EmptyReplacedElement.java index f2a4984cf..6d06f6764 100644 --- a/flying-saucer-pdf-itext5/src/main/java/org/xhtmlrenderer/pdf/EmptyReplacedElement.java +++ b/flying-saucer-pdf-itext5/src/main/java/org/xhtmlrenderer/pdf/EmptyReplacedElement.java @@ -43,6 +43,17 @@ public void paint(RenderingContext c, ITextOutputDevice outputDevice, BlockBox b Element elem = box.getElement(); String name = getFieldName(outputDevice, elem); String value = getValue(elem); + + /* + * ISO-32000-1 defines the limit for a name in a PDF file to be at maximum 127 bytes. + *Source(http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf) + * see Annex C ยง 2 Architectural limits "Table C.1" pages 649 and 650. + *iText stores the hidden field value as a PDFName + */ + if (value.length() > 127) { + value = value.substring(0, 127); + } + acroForm.addHiddenField(name, value);