4D Write Pro – Sign and secure documents
The purpose of this article is to show how, in an easy-to-implement way, you can sign and verify documents transparently.
The obvious benefit of this approach is peace of mind when the documents are opened again, safe in the knowledge that they have not been modified in the meantime.
This is especially important if you store 4D Write Pro documents as smart templates containing 4D code as external files on disk. Before executing this code you want to ensure the file was not externally modified.
Or, in the case of external documents, to be certain that they have come from the right sender and have not been altered during their digital journey.
The principle we’re about to describe applies to 4D Write Pro documents but applies to any other type of document with a few minor modifications.
4D Write Pro commands optimized again!
As each new version is released, we take into account the feedback we receive from our customers on the general use of 4D Write Pro and its commands. While remaining 100% compatible, some commands and language functions are evolving!
Some commands, whose syntax have been improved in 4D 20 R8, now allow the use of modern parameters such as objects or collections. Others are now functions, making them easier to use. Finally, a number of new functions have been created. All this will make your code simpler, more generic and easier to maintain!
4D Write Pro: Mastering Sections and Subsections with new functions!
Sections and subsections are the building blocks of any well-structured document. You’ve likely used them countless times, perhaps without even realizing it, as every document contains at least one section by default!
Whether you’re a seasoned pro or just starting out, this post will walk you through the basics of sections and subsections.
We’ll also explore the exciting new 4D Write Pro features in 4D 20 R7, which make managing these elements easier and more powerful than ever.
Listbox: “Blank if null” for TIME Columns and Footers!
For many versions, the “Blank if null” property has been available for “time” type zones, whether for input or display. However, it was not previously available for columns or footers of this type in listboxes. With 4D 20 R7, this limitation has been removed!
4D Write Pro: Make Hidden Table Borders Visible (Temporarily)
Working on 4D Write Pro tables with hidden lines can be tricky! You can’t tell where each cell ends, especially with merged ones. But 4D 20 R7 is shipped with a cool feature to show you those hidden lines, even if they’re normally invisible.
This makes working with tables much easier! Let’s see how this new view property works.
PDF/A3 Attachment Extraction
In previous posts, we explored embedding documents within PDF/A-3 files using 4D Write Pro, including generating electronic invoices. As e-invoicing becomes mandatory in various European countries—such as France and Germany—the ability to extract embedded XML files from these PDFs is becoming crucial. But the utility of PDF/A-3 extends beyond invoices; these files can embed various document types that may require extraction.
While tools like Adobe Acrobat Reader offer manual extraction, this post introduces an efficient, automated method using 4D 20 R6 to easily handle the process.
UX: Enhanced Scrolling Behavior in Subforms
User forms are all about making things easy for users. But what happens when scrolling becomes a battle between subforms and their contents? You’ve probably experienced this before: you try to scroll through a list box in a subform, but the entire subform moves instead. Or, worse, you try to scroll the subform itself, but the list box stubbornly stays put!
This has been improved with 4D 20 R6, making the action more natural.
Easy Reference Comparison of Objects & Collections
Objects have become an essential part of the 4D language and of Qodly.
But when you declare a variable of this type, you define a reference. So, how do you know if two objects are, in fact, just one and share the same reference?
Starting with 4D 20 R6, comparing object references is simple: enter the = and # operators!
This blog post explores these operators and how they help determine if objects share the same reference. Let’s find out more!
4D Write Pro: Manage Empty Datasources!
Since the tables in 4D Write Pro can be populated by datasources, numerous functions have been added to personalize them as much as possible. These include formulas linked to datasources, break rows, bottom carry over rows, etc.
4D 20 R6 refines table behavior with a new attribute: wk empty datasource. This attribute allows you to define how tables render when their linked datasource is empty, providing greater control over document presentation.
4D Write Pro. New Section Options Available in the Interface
As you know, 4D Write Pro manages two types of sections, continuous or with page breaks.
Whether you prefer distinct right-sided pages from the left or want the initial page to stand apart from the rest, these possibilities were once confined to programming or the context menu. However, there’s a positive shift on the horizon – the interface is evolving!
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy