View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003180||Scribus||Import / Export||public||2006-02-06 17:35||2006-05-09 22:55|
|Status||closed||Resolution||no change required|
|Fixed in Version||1.3.3cvs|
|Summary||0003180: checkboxes are badly exported to PDF|
|Description||The checkboxes created as PDF interractive objects are not rendered correctly when the file is exported to PDF.|
According to pdftk (the software used to fill the form) and all other PDF-Form generators, checkboxes must have a "FieldStateOption:" to "Yes" so that they can be visually checked.
Unfortunately this is not the case with Scribus : the field has only the "FieldStateOption: On" that does not enable it to be checked.
It was already predent on an older Scribus release (1.2.2) before I updated.
I am a bit sad that Scribus can not do that, as is it a very powerfull software to manage files and PDFs
|Steps To Reproduce||create a new Scribus document, add some PDF-fields with some checkboxes.|
Export you document into a PDF file.
Once this is done, just use a fill-compliant sofware (I recommend pdftk under Linx) and try to merge the PDF with a FDF and see the result. The field is not rendered at all, and this is true for a lot of viewers : Acrobat reader 7, Xpdf, Kpdf, KGhostview, etc. (in fact all the viewers I tried).
|Tags||No tags attached.|
I looked to the code of the last release available at the moment, and it seems that PDF exportation does not match PDF convention as declared here : http://partners.adobe.com/public/developer/en/pdf/PDFReference15_v6.pdf page 625 in section 8.6.3 'FieldTypes' (or any other PDF release available on Adobe's website).
PDF checkboxes must be defined with at least two status : a checked status (usually named 'Yes') and an unchecked status (usually named 'Off'... I know this sounds stange : why not using 'Yes'/'No' or 'On'/'Off'...).
It looks like checkboxes are generated as standard annotations, and so are not rendered correctly.
So Scribus should generate a button object with two states instead of one :
code of 'pdflib.cpp' from line 2995 in checkbox creation.
"/V /On\n/DV /On\n/AS /On\n" :
"/V /Off\n/DV /Off\n/AS /Off\n");
PutDoc("/AP << /N << /On "+IToStr(ObjCounter)+" 0 R >> >>\n");
the last line does not comply and should be something like that (see below) to allow two status (checked and unchecked).
PutDoc("/AP << /N << /On "+IToStr(ObjCounter)+" 0 R /Off" +IToStr(ObjCounter + 1 ) "+>> >>\n");
then the processing of the second object declared for the 'Off' status should be implemented as a checked value.
To have more informations on the way checkboxes are used, see PDF Reference book page 627 that describes the following example (extract from page 627)
1 0 obj
<< /FT /Btn
/AP << /N << /Yes 2 0 R /Off 3 0 R>>
2 0 obj
<< /Resources 20 0 R
0 0 1 rg
/ZaDb 12 Tf
0 0 Td
3 0 obj
<< /Resources 20 0 R
0 0 1 rg
/ZaDb 12 Tf
0 0 Td
I will try to correct the issue and submit a patch as soon as possible (and if possible ;) )...
> According to pdftk (the software used to fill the form) and all other
> PDF-Form generators, checkboxes must have a "FieldStateOption:" to "Yes"
> so that they can be visually checked.
This "Yes" can safely replaced by "On" as the PDF-1.6 Reference says:
"The recommended (bug not required) name for the on state is Yes"
Page 648, end first paragraph of "Check Boxes"
Thanks for your quick answer fschmid (even if I could not get any internet connexion last week), but this does not fix the bug I have.
I think I badly explained my issue because I had a closer look to the PDF reference book and it is well said the sfield name is just a suggestion and basically 'On' instead of 'Yes' should work (as you explain to me).
But when I am testing it is not the case :S
I export a PDF document containing checkbox fields from a scribus file, then I generate a fdf filling doument to fill the form content. After that I decided to merge fdf content with pdf form uing pdftk.
The result is a flatten PDF file, with all the usual fields filled (date fields, integerfields, stringfields, textAreafields, etc.) but NOT the checkbox fields.
I can not find where is the bug, as this fdf comply with this example : http://accesspdf.com/html_pdf_form/. The only difference seems that the PDF file in the example has not been generated through Sribus...
PS : you can find here the different files I used :
Scribus original document : http://cartemere.online.fr/info/nexedi/test-upload-2006.sla
PDF original document : http://cartemere.online.fr/info/nexedi/test-upload-2006.pdf
FDF document : http://cartemere.online.fr/info/nexedi/fdf_temp_file
PDF Final result : http://cartemere.online.fr/info/nexedi/PDFfinal.pdf
<quoting>The result is a flatten PDF file, with all the usual fields filled (date fields, integerfields, stringfields, textAreafields, etc.) but NOT the checkbox fields.</quoting>
Before we go too deep into it: I've just looked at your PDFfinal.pdf in Adobe Reader 7.01 for Linux and can see your checkboxes, some of them checked (see the uploaded screen shot). What am I missing here? Are you sure, you've tested with acroread too?
I was working with an old live-CD of a modified release of Mandriva, and the Acroread present on the cd was not the last release (7.0.0 if I well remember).
Now I'm working on my own laptop computer with an updated release and Acrobat Reader 7.01 : I've just made a new test after reading your note and everything is rendered fine !
The fact is : this works, and that's what I wanted !
Thanks a lot !
But I'm still thinking this is a very stange issue : filling with pdftk forms generated by any pdf generator works with all pdf sofwares I tested, whereas forms generated by Scribus and filled using pdftk does work only with the recent releases of Acrobat... ?!
Why pdf generated from Scribus can not be correctly rendered in all pdf viewers when filled using pdftk ?
thomasnexedi: I'm resolving this now as "no change required". Thanks for your feedback.
Regarding your last question: please join our very friendly and helpful mailing list to ask such questions, you won't regret it:
|2006-02-06 17:35||thomasnexedi||New Issue|
|2006-02-08 11:15||thomasnexedi||Note Added: 0008667|
|2006-02-08 13:04||cbradney||Status||new => assigned|
|2006-02-08 13:04||cbradney||Assigned To||=> fschmid|
|2006-02-08 16:25||fschmid||Note Added: 0008671|
|2006-02-09 07:20||fschmid||Status||assigned => resolved|
|2006-02-09 07:20||fschmid||Fixed in Version||=> 1.3.3cvs|
|2006-02-09 07:20||fschmid||Resolution||open => fixed|
|2006-02-10 00:47||mhanski||Relationship added||related to 0000866|
|2006-02-20 14:54||thomasnexedi||Status||resolved => feedback|
|2006-02-20 14:54||thomasnexedi||Resolution||fixed => reopened|
|2006-02-20 14:54||thomasnexedi||Note Added: 0008830|
|2006-03-14 00:46||cbradney||Relationship added||child of 0003402|
||Relationship deleted||child of 0003402|
|2006-04-17 14:09||mhanski||Product Version||1.3.0 => 1.3|
|2006-04-19 17:26||mhanski||Relationship added||related to 0003282|
|2006-05-04 20:15||mhanski||File Added: form_merged_with_fdf.png|
|2006-05-04 20:27||mhanski||Note Added: 0010919|
|2006-05-09 12:44||thomasnexedi||Note Added: 0011140|
|2006-05-09 13:24||mhanski||Note Added: 0011145|
|2006-05-09 13:24||mhanski||Status||feedback => resolved|
|2006-05-09 13:24||mhanski||Resolution||reopened => no change required|
|2006-05-09 22:54||mhanski||Status||resolved => closed|
|2006-05-17 17:45||mhanski||Relationship added||child of 0003831|