I am using CGPDF to parse a PDF for an iPhone application. I can get as far as obtaining the dictionary object but for the life of me I cant seem to locate the form fields in the PDF.
How can I get a list of the text fields in a PDF Document?
After I find the text fields, how can i know the location for each?
example: text field "First Name" is on page one at coordinate:(20,30) with size:(100,25)
If you've succeeded in getting to the Page dictionary, then try and check out the 'Annots' Array. The Array should contain a Dictionary entry for each Text field in the document. Each Dictionary entry should contain several entries such as 'rect' (among others) that will contain the coordinates of the field on the page.
If you have acrobat pro, a great way to browse the PDF document structure is to use 'Preflight' (Under the advanced menu). Once you have preflight running click on the 'options' button in the top right of the dialog and click on 'browse internal PDF structure' you can poke around here to see how your PDF is laid out.
You can also find additional info on the 'Annots' Array entry in the Adobe PDF Reference, Sixth Edition, version 1.7 , section 8.4.1 "Annotation Dictionaries".
hope that helps.
Annot array does not contain textfields rather it contain annotation objects.
Related
So, I'm new to TYPO3. I worked myself through some guides and documentations to be able to create custom content elements on my own.
Now, for one of my desired content elements, I need to have a set of fields I want to be able to make repeatable, since I want to leave the choice up to the editor, how many of the sets he wants to add.
I'm running on TYPO3 version 7.6
I have already seen both options in existing content elements:
Content elements that work like a wrapper where you can add additional content elements within and
Content elements where you can add fieldsets within its configuration.
I'm searching for examples or written guides to recreate this, since I can't figure it out from the source code of those examples I've seen.
Edit(27.12.16):
So after seeing a few reactions and replies, I want to further clarify what I'm looking for.
I do NOT need an assistant plugin to create new content elements, I'm already past that.
Let me draw an example, to better describe what I want to achieve.
I do already have a working Content Element.
I have defined a set of fields (for example name & phone) shown in the TYPO3 backend. Now I want to leave the choice to the editor, if he just wants one set of 'name & phone' fields, or 2, or 8.
Therefore I want to create a '+'-button or something like that, for the editor to click on to make a new input set of 'name & phone'-inputs.
There is an extension called mask, with that you can simply click together your own content element with many different kinds of relations and fields.
Then there is a second extension mask_export that exports your new content elements into an own extension.
With those you can just create a very basic content element
export it
see what code was generated
add more to your content element
export it
check the code
and so on :-)
I have many documents created in OpenOffice Writer that contain images with title and description.
Is there a way to read and modify these using LibreOffice Writer 5? I looked, but I didn't yet find a way.
Apparently the entry was removed from the context menu, but it is still in the main menu bar. First select the image, then go to Format -> Object -> Description.
I am using VFR reader to display my pdf's. I need to extract the Table of Contents on a button click and display it in a tableview then it should lead to the respective pages while tapping on each.I googled for this and got these links
Create a table of contents from a pdf file
http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-adding-a-table-of-contents-to-an-ipad-reader/
And i came to know that, to get TOC we must use "CGPDFDocumentGetCatalog(pdf doc)". But in my reader that "CGPDFDocumentGetCatalog(pdf doc)" is not at all getting called. Now how can i extract my TOC from my pdf file? Kindly help me out of this. I am struggling on this for a week. Thanks in advance.
Unfortunately I think the two answers you refer to point to different implementation strategies, which are both possibly valid but are different.
The first question is what the PDF files you have and want to show in your app look like. There is no such thing as a predefined TOC object in a PDF file, there are simply different ways to emulate this. The two most common ways are:
A) Bookmarks, which are a way to add little pieces of text to a structured tree, where each piece of text points to a specific location in the PDF file. These bookmarks can be added in the design application or later (there are specific tools to do so) and they can implement whatever structure.
B) Your PDF file might contain something that looks like a classic TOC from a book, which is basically just text on the opening pages, optionally with hyperlinks to specific locations in the book.
The second link you refer to shows how to create user interface where you can show the TOC in. The remaining question then is to figure out what items you want to display in the TOC window. In this second link you point to, the solution presented is to provide hard-coded items specific to one specific book. Of course this approach is not very useful when you want to display just any book.
So the question you are left with is how to figure out what items to display and where they link to.
If you consider my possibility A) above: a PDF file with bookmarks, the answer could be relatively simple. Answer 1 you point to explains how to look at the different structures inside a PDF file - bookmarks are simply such a structure (Defined in section 12.3 of the PDF specification: http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf)
This means you could use the techniques shown there to walk the different objects in the PDF file, and find each bookmark. The bookmark will give you the text to display and the actual location in the PDF file that text should jump to when clicked.
If you consider my possibility B) above: a PDF file without bookmarks but a classic TOC, this will be much harder to solve. Such table of contents are simply text on one or more pages, optionally with hyperlinks. Of course you could try to find all text on these pages (if you can figure out on which page the TOC starts and ends), but you'd then also have to figure out where that item links to. If there are no hyperlinks involved, that would be a daunting task.
So your first question should be how generic you want to solve this problem. Do you know which PDF files you'll want to display? Can you devise a TOC for these files yourself (as in your solution 2)? If not, can you be sure all PDF files contain bookmarks? The answer to those questions will largely determine the rest of your strategy...
This issue occurs when you have your content control mapped to xml that doesnt have closing tag. For eg. if the xml is and is mapped to literal control than on mapping the text displayed on word document(enable editing or printing) with be something like this
Click here to enter text even if you have removed the text when you create the content control. But if i change xml to than it works fine and i dont see any default text.
So the problem is that i have around 50-60 fields in the object that is serialized using xml serializer than by default it serializes to . So for entire document all the empty xml tags have default text displayed in word document.
Is this a known issue or am i missing something on my end? Is there a way is tweak generated xml to explicitly have closing tag?
This is very easy to recreate. I am using xml sdk v 2.0 and word 2010.
Regards
Mac
Edit Note:
I am still facing this issue. When the custom xml has than it displays the text "Click here to enter text." If i have xml than it works fine. The problem is i have override xml that will force to generate the end tags. But when i parse within xml document it again converts it to self closing tags.
Is there a way to look through the empty content controls and remove it from the document using sdk 2.0?
I am running WSS3.0 and have a custom list which contains versioning on a couple of fields. When I click on an item and I view the item page I see the history of all the fields which I have made changes to. This works fine as expected.
I have also created a page using Microsoft Office Sharepoint Designer and using a DataFormWebPart I have created a page that shows all the items in the list in a list view, I have also changed the XSL node of the DFWP to display the datain a way that my client wants.
The issue that I have is, it is only showing the latest version of the item record e.g. some of the fields are blank as the client did not update those fields the last time that the item was saved. I can fully understand why it is not showing these previous versions of the item but is there anyway that I can change an option in the webpart that will return that last non blank version of the field?
If this is not possible does anybody know if it is possible to change the edit page for the item so that it defaults certain fields to have the previous value of the field.
Many thanks for you ideas in advance
Jonathan
I eventually was able to add the following jQuery code at the bottom of the page (using Sharepoint Designer). You will also need to add a link at the top of the page to include a link to the jQuery code (or you can install it as a feature).
<script>
jQuery.fn.GetLastUpdate = function () {
$updates = this.parent().next().clone();
$("nobr", $updates).remove();
$("a", $updates).remove();
$("br", $updates).remove();
$lastUpdate = $updates.text().split("(): ")[1]; //.find("a").replaceWith("##++##").text();
this.text($lastUpdate);
return $lastUpdate;
}
$("[title='CONTROL_TITLE']").GetLastUpdate();
</script>
Then you just have to replace the CONTROL_TITLE with the title of the text box that you want to auto fill.