Kaydet (Commit) 4859d0b6 authored tarafından Thorsten Behrens's avatar Thorsten Behrens

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: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
üst e5de84e7
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment