Planet PDF Forum Archive

Planet PDF ForumWowsers! This is page is old, head to the LIVE Planet PDF Forum. It features more than 10 conferences, covering everything from beginner to in-depth developer and pre-press discussions. If you wish to continue... one & two archive covers 1999-2011 (160,000 pages).


New Forum | Previous | Next | (P-PDF) Developers


Topic: Separate text fields from other widgets (SDK)
Conf: (P-PDF) Developers, Msg: 107791
From: erikgyllenstierna
Date: 3/17/2004 07:49 PM

Hello,

How can I distinguish between a text field and other type of fields like buttons, list boxes? I want to iterate over all text fields on a page and retrieve their name and position.

This code does work except that if several text fields have the same name the first "continue" is executed because the dictionary lies in the parent and is null i each children:
        for (int i = 0; i < numAnnots; i++)
        {
            PDAnnot annot = PDPageGetAnnot(pdPage, i);
            if (PDAnnotIsValid(annot) && PDAnnotGetSubtype(annot) == ASAtomFromString("Widget"))
            {
                CosObj obj = PDAnnotGetCosObj(annot);                
                CosObj fieldType = CosDictGet(obj, ASAtomFromString("FT"));
                if (CosObjGetType(fieldType) == CosNull)
                    continue;

                ASAtom value = CosNameValue(fieldType);
                if (value != ASAtomFromString("Tx"))
                    continue;

This does work except that widgets other than Text fields (Buttons, Listboxes) are retrieved:
        for (int i = 0; i < numAnnots; i++)
        {
            PDAnnot annot = PDPageGetAnnot(pdPage, i);
            if (PDAnnotIsValid(annot) && PDAnnotGetSubtype(annot) == ASAtomFromString("Widget"))
            {
                CosObj obj = PDAnnotGetCosObj(annot);
                PDField field = AFPDFieldFromCosObj(obj);
                if (field == NULL)
                    continue;               // should not happen

                char *name = AFPDFieldGetName(field);

Any help would be very much appreciated. I am using Acrobat 6 SDK and VC6++.

/Erik



PDF In-Depth Free Product Trials Ubiquitous PDF

Debenu Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link...

Download free demo

Debenu PDF Tools Pro

It's simple to use and will let you preview and edit PDF files, it's a Windows application that makes...

Download free demo

Five visions of a PDF Day

In the world of PDFs or as we like to say Planet (of) PDF, a year isn't a real PDF year without an intense few days of industry knowledge sharing.

May 15, 2018
Platinum Sponsor





Search Planet PDF
more searching options...
Planet PDF Newsletter
Most Popular Articles
Featured Product

Debenu PDF Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link control. Take Acrobat to the next level.

Features

Adding a PDF Stamp Comment

OK, so you want to stamp your document. Maybe you need to give reviewers some advice about the document's status or sensitivity. This tip from author Ted Padova demonstrates how to add stamps with the Stamp Tool along with related comments.