I would like to create a document including a input form.
The printed version of the form should have little boxes for block letter input ("monospace font") like this:
The form will be printed and will be filled out manually using pens (but it would be good if the form could also be easily filled out digitally via pdf form)
Is there any convenient way apart from creating separate input boxes, or tables or other quick fixes which do not make it inconvenient filling the form digitally?
One way could be to use a background image with the required block pattern.
If you only want it printable - create a document and set the image as background.
If you want a computer fillable form for a SEPA banking transaction form - do a search, as there are free PDF forms available.
Related
Task: I am trying to Edit a PDF Form programmatic manner using java.
Issue: Currently i am using i text libraries where i am unable to get position(x and y coordinates) of a text where i want to write in the PDF.
What i have already tried: implemented RenderListner but TextRenderInfo.getText() gives me the half a word or a chars.
What i want: i want to get rendered text in a proper word formatted as it is in pdf document.
I need example of PDF text editing using itext java.
Thanks in Advance.
What you're looking for is not easy to do (I am hesitant to even say impossible).
According to the spec, pdf documents need only contain the instructions needed to render the document in a viewer.
One of the symptoms of that (which you are seeing with TextRenderInfo) is that there is no real concept of structure.
For instance the paragraph "Lorem Ipsum Dolor Sit Amet" might get rendered as:
render "Ipsum Do"
render "Lorem " (space included)
render "lor"
render "Sit Amet" (leading space not included, but realized by shifting position)
TextRenderInfo is doing exactly what the name suggests, you are getting information about each text rendering instruction. The standard itself makes it impossible to give guarantees like "it will always contain a full word/phrase" or "instructions appear in logical reading order".
If you are doing this to get the location of some piece of text, simply collect all TextRenderInfo objects, and sort with a custom comparator that takes their position into account. Once sorted, you can loop over them, by doing so you have information about the text being rendered and the coordinates at which the text is being rendered. Look in SimpleTextExtractionStrategy to get an idea of how we do this.
If you want to inject custom values into a pdf (you mentioned editing), the consider using forms (XFA or acro). Forms allow you to basically define placeholders that iText can later fill with content. Some form elements will allow dynamic resizing.
If you have access to the data before it gets turned into a pdf, it would be of course even better to manipulate the data at that point. Since editing a pdf (programmatically) is by nature a hard problem to tackle.
I wish to create a VSCode extension with an entry form on it - some way of input. So far I have only seen document processing or output for an extension.
How can you display a form of input fields in a vscode extension?
How much data do they need to enter? If it's not much, you should be able to handle it with a series of InputBoxes
From https://code.visualstudio.com/docs/extensionAPI/vscode-api
showInputBox(options?: InputBoxOptions): Thenable<string>
Opens an input box to ask the user for input.
The returned value will be undefined if the input box was canceled (e.g. pressing ESC). Otherwise the returned value will be the string typed by the user or an empty string if the user did not type anything but dismissed the input box with OK.
Parameter Description
options?: InputBoxOptions
Configures the behavior of the input box.
Returns Description
Thenable<string>
A promise that resolves to a string the user provided or to undefined in case of dismissal.
The Visual Studio Code API does not have any native methods to display forms to collect input. You can however, chain together Input Boxes, Quick Picks, etc... You can find all these methods under vscode.window.(...).
If these do not satisfy your needs you can implement a webview which allows you to render integrated HTML in Visual Studio Code and trade messages with the extension.
The most simple aproach would be to simple send all collected data from the form to the extension once you hit the submit button or something similar.
You have a nice little tutorial on how to do that here.
Another approach is to see how far you can go with editing JSON objects in settings.json. I thought I would need a form for 8-10 fields, but it turns out that I can create a settings template that has a series of labels and and entry fields (with type validation).
We are looking at Umbraco as a possible alternative to our current CMS which was developed in house and which although powerful, is dated now and becoming more difficult to maintain.
One really good feature which we would be loth to lose is the widget feature. Using this, we can build a widget by defining a number of inputs (eg text fields, media picker, links etc) together with the html required to output the results (using placeholders to substitute in the content entered by the web content editors).
On the page, content editors can select which (if any) widget(s) to use, enter content into the inputs defined in the widget, and the page outputs this accordingly.
In other words, without resorting to programming, we can create widgets just by defining inputs and the output html in minutes.
Users can select widgets and their input is controlled and formatted.
Simple and effective.
Is anything like this available in Umbraco without having to develop new C# code for each widget? I have looked into using macros in a rich text field, but I can't see how they can be made editable using complex data entry as described above.
Beside the Macro in richtext,
In Umbraco you can use a picker/list view data type to select some "component/widget items" and for rendering it requires some code if more than one document type is allowed, if document type is x1 do code a1.
Use (Partial view) Macro Files for reuse.
This is the closest to the "widget" function you want.
A other relatively new datatype in Umbraco is the Grid layouts, allow editors to create a Complex data, column structure with multiple data types. I suspect not comparable/useful for your "widget" function.
I'm looling for a way to change the text above the form in a same manner as the fields use the progressive profiling.
At the bottom of this page " http://www.pardot.com/faqs/forms/setting-progressive-profiling/ " it says:
If you would like to have multiple progressive questions per “phase” of the form then use the same logic as designated above for all fields in that “phase”.
But no further explanation or example is given ( if this even applies to the 'above form' text )
The text above (or below) the form can not be changed by actions in the form. Your best bet to change this text above the form is to use dynamic content, which only works on populated fields for known prospects when the page is loaded. Dynamic content is useless for anonymous visitors..
Multiple questions per 'phase' allows you to have several fields appear after a single selection. For example, you ask for 'delivery' preferences - email, download, mail - and the user selects 'mail' you can have a full contact field set appear.
When using the Add or Edit form from the pager I'm wondering how a simple static label can be added in the form without it creating any additional columns in it's affect on colNames[]'s and colModel[]'s. For example I have a quite simple typical Add form which opens from the pager containing a few label's and form elements: Name, Email, Web Site, etc., and then the lower section of the form has a few drop down menus containing the number 1 through 10 with the idea being to ask the user to pick a value between 1 and 10 to put a value on the importance to them about the product or service which is listed beside it. Just above this section I want to add some text only to give a brief instruction asking the user to "Choose the importance of the following products and services using the scale: [1=Low interest --- 10=Very high interest]". I cannot figure out how to get a text label inserted in the form without having to define a column with a formoption{} etc which is not needed for just some descriptive text. I know about the "bottominfo: 'some text'" for adding text to the bottom of the form but I need to insert some text similar to that mid-way (or other positions) in the form without it affecting the tabular structure of the grid. Is this even possible? TIA.
You can modify Edit or Add forms inside of afterShowForm. The ids of the form fields are like "tr_Name". There consist from "tr_" prefix and the corresponding column name.
I modified the code example from my old answer so that in the Add dialod there exist an additional line with the bold text "Additional Information:". In the "Edit" dialog (like one want in the original question) the input field for one column is disabled. You can see the example live here. I hope that a working code example can say more as a lot of words.