Define the Annotations to which the specific action is applied. Combo box Annotations gives you multiple options how to do that.
- Simply check the desired annotations
- Select a predefined set of annotations
- Define the annotation types using regular expression format
- Define the annotation by the template
Check annotation types
In the combo box you can simply check annotations types you want to process.
Predefined annotation sets
For each action, there are predefined subsets of annotations defined by regex or template. For example, Ignore Hidden and Invisible processes each annotation that is neither hidden nor invisible.
Define annotations by Regex
Annotation types can be easily defined using a regular expression. You can enter the regular expression into the Annotations combo box, or select from predefined or saved regex formulas.
To add a favorite regex, use Add Regex, accessible by right-clicking in the combo box or clicking the menu icon
For example:
All annotations:
.*
All annotations except Widget|Popup|Link
^(?!Link$|Widget$|Popup$).
All annotations except Popup
(?!Popup$).*
Markup annotations
Highlight$|^Underline$|^Squiggly$|^StrikeOut$
Test the regex on https://regex101.com/
Define annotations by Template
Define by template option allows you to define more complex query for annotations. Select the option Add Template from the combo box menu.
In the Edit template dialog you can define conditions which annotations should be processed in the annot_update node. The system of defining conditions is the same like in the template panel.
Below you can find examples of commonly used templates. In the Edit template dialog choose the Plain Template option and replace the code with examples bellow.
Example 1: All annotations except hidden and invisible
{
"template": {
"annot_update": [
{
"query": {
"$and": [
{
"$0_annot_type": {
"$regex": ".*"
}
},
{
"$not": [
{
"$0_annot_flag": {
"$regex": "invisible"
}
}
]
},
{
"$not": [
{
"$0_annot_flag": {
"$regex": "hidden"
}
}
]
}
],
"param": [
"pdf_annot"
]
},
"statement": "$if"
}
]
}
}
Example 2: Link annotations with empty Contents key
{
"template": {
"annot_update": [
{
"query": {
"$and": [
{
"$0_annot_type": {
"$regex": "^Link$"
}
},
{
"$0_contents": ""
}
],
"param": [
"pdf_annot"
]
},
"statement": "$if"
}
]
}
}