Hi, Thanks for your very good problem description.
Please try to enable the line below in PdfAcroForm::Init (): m_pObject->GetDictionary().AddKey( PdfName("NeedAppearances"), PdfVariant(true) ); Enabling this line should fix your problem. Best regards, Dom Am Dienstag 16 März 2010 schrieb dennis jenkins: > Hello PoDoFo Community, > > I am having difficulty understanding why PDF forms created and > populated with podofo do not work in Adobe Reader as desired. I wrote > code to create a one page PDF with one form field and set text on it. > The text is clearly in the form (when viewed with PoDoFoBrowser 0.5 > (win32)). Yet when I open the PDF in Adobe Reader (9.2.0, win32), the > field appears empty. When I click on the text field my value is > visible. When I click off of the field, my value disappears. (My > code is below) > > I'm using the latest podofo from svn (rev 1199, checked out this > morning), and the PDF 1.3 spec from Adobe's web site [1]. I studied > the sample code in "podofo/test/FormTest" [2]. I skimmed most of the > PDF reference manual, and intently read (twice) section 7.6, > "Interactive Forms". > > My ultimate goal is to write a routine that will read a third > party PDF (with a form on it), fill in the fields and save the form. > At a later time a user would then load the form into and further edit > it, email it and/or print it. When I failed to get this to work with > the desired forms (US / IRS tax form "941" [3]), I created a small app > to build a custom PDF with a simplified form. I get the same results > with both forms. > > I've viewed both forms inside PoDoFoBrowser. Some annotation > elements have different attributes, but they are essentially the same. > > I have three theories: > > a) It is simply not possible to construct a PDF form with data > pre-populated using "PdfTextField.SetText()". > > b) I'm doing something wrong. > > c) I need to set some additional attributes or values in the > annotation element, or its parent object, or in the document object > itself. > > At this time I can see only one possible hack: To read the form > field's "rects" and create a text overlay in the same position. This > is indeed a hack as this will prevent the user from properly editing > the form at a later time (prior to them printing or otherwise using > it). > > Although I am using PoDoFoBrowser and Adobe Reader on win32, I am > doing my development on Gentoo Linux. This, hopefully, does not > matter. > > I would very much appreciate any suggestions, assistance, etc... > If it would be helpful, I can post the "stuff" that PoDoFoBrowser > shows inside the forms. However, it is fairly easy to download the > "941" form and view it directly. > > Thank you for your time. > > > [1] http://www.adobe.com/devnet/pdf/pdfs/PDFReference13.pdf > > [2] > https://podofo.svn.sourceforge.net/svnroot/podofo/podofo/trunk/test/FormTe > st/FormTest.cpp > > [3] http://www.irs.gov/pub/irs-pdf/f941.pdf > > > > // "main()", "#include" and original error handling omitted for brevity. > // "HelloWorld" line shamelessly stolen from the PoDoFo online example. > > void RunPdfTest (const char *filename) > { > PdfStreamedDocument doc (filename); > PdfPage *pPage = doc.CreatePage (PdfPage::CreateStandardPageSize > (ePdfPageSize_Letter)); > > PdfPainter painter; > painter.SetPage (pPage); > PdfFont *pFont = doc.CreateFont ("Arial"); > pFont->SetFontSize (18.0); > painter.SetFont (pFont); > painter.DrawText (56.69, pPage->GetPageSize().GetHeight() - 56.69, > "Hello World!" ); > > PdfTextField text (pPage, PdfRect (100, 200, 300, 400), &doc); > text.SetFieldName ("text-field"); > text.SetText ("test"); > text.SetMultiLine (false); > > painter.FinishPage (); > doc.Close(); > } > > --------------------------------------------------------------------------- > --- Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Podofo-users mailing list > Podofo-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/podofo-users > -- ********************************************************************** Dominik Seichter - domseich...@web.de KRename - http://www.krename.net - Powerful batch renamer for KDE KBarcode - http://www.kbarcode.net - Barcode and label printing PoDoFo - http://podofo.sf.net - PDF generation and parsing library SchafKopf - http://schafkopf.berlios.de - Schafkopf, a card game, for KDE Alan - http://alan.sf.net - A Turing Machine in Java **********************************************************************
signature.asc
Description: This is a digitally signed message part.
------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev
_______________________________________________ Podofo-users mailing list Podofo-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/podofo-users