vcl/source/gdi/pdfwriter_impl.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+)
New commits: commit 4859d0b6cee9477ab65e86923e7c0a0b88022d8e Author: Thorsten Behrens <thorsten.behr...@cib.de> AuthorDate: Fri Mar 15 09:47:45 2019 +0100 Commit: Thorsten Behrens <thorsten.behr...@cib.de> CommitDate: Sun Mar 17 20:21:15 2019 +0100 tdf#113448 fix PDF forms export This fixes verapdf A-2 validation error '6.3.3-2 annotation appearance dict is wrong'. Controls that use type /FT/Btn must have sub-dicts as /N content, instead of a direct stream reference. Change-Id: If985644fe3d583e98a0b3a703e4b33dbf652f165 Reviewed-on: https://gerrit.libreoffice.org/69295 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index ba3ae2a9c2f8..e7a22e69ef56 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -4489,6 +4489,19 @@ bool PDFWriterImpl::emitAppearances( PDFWidget& rWidget, OStringBuffer& rAnnotDi rAnnotDict.append( "/" ); rAnnotDict.append( dict_item.first ); bool bUseSubDict = (dict_item.second.size() > 1); + + // PDF/A requires sub-dicts for /FT/Btn objects (clause + // 6.3.3) + if( m_bIsPDF_A1 || m_bIsPDF_A2 ) + { + if( rWidget.m_eType == PDFWriter::RadioButton || + rWidget.m_eType == PDFWriter::CheckBox || + rWidget.m_eType == PDFWriter::PushButton ) + { + bUseSubDict = true; + } + } + rAnnotDict.append( bUseSubDict ? "<<" : " " ); for (auto const& stream_item : dict_item.second) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits