OL Learn

Worflow: select from pdf but omit a column

from my pdf: I want to create a file by selecting what I put in red, but I don’t want the description. Is there a way to do that ? ( the problem is that if I select all, the alignment of columns change because of the description)

Simply select each column separately.

Then in your dynamic table, add an empty column to replace the Description and voilà!

Is there a way to do it in the workflow instead of designer ?

The alignement would still be a problem, should there be a way to do it in Workflow.
The font used in your PDF is not monospace (all characters do not use the same space) as opposed to your shown result. That is why it isn’t aligned. Doing it in workflow would be very complicated.

I strongly suggest you used the Datamapper, output the data into JSON or XML and build your text file from it.

ok thks hamelj. i will try json or xml

I would suggest JSON, provided you are with a recent version of Connect. Is is very easy to script using a JSON object. Like so:

JSON from Datamapper:

[
	{
	"schema": {
		"columns": {
			"ExtraData": "STRING"
		},
		"tables": {
			"detail": {
				"columns": {
					"OpportunityItemId": "HTMLSTRING",
					"PartNumberPrefix": "HTMLSTRING",
					"SerialNumber": "STRING",
					"ExtraData": "STRING"
				}
			}
		}
	},
	"id": 52503,
	"datasetid": 8081,
	"fields": {
		"ExtraData": ""
	},
	"tables": {
		"detail": [
			{
				"id": 52504,
				"fields": {
					"OpportunityItemId": "dfg8e0f5-a5e1-ec11-8249-005056a473ba",
					"PartNumberPrefix": "PCB100",
					"SerialNumber": "111111",
					"ExtraData": ""
				}
			},
			{
				"id": 52505,
				"fields": {
					"OpportunityItemId": "0dg9e0f5-a5e1-ec11-8249-005056a473ba",
					"PartNumberPrefix": "CCB100",
					"SerialNumber": "222222",
					"ExtraData": ""
				}
			}
		]
	}
}

]

Javascript:

var myJSON = JSON.parse(Watch.ExpandString("%c")); //Load the JSON
var serialNumber = '';
var partNumberPrefix = '';

for(let i = 0;i < myJSON.tables.detail.length-1;i++){
    partNumberPrefix = myJSON.tables.detail[i].fields.columns.PartNumberPrefix;
    serialNumber        = myJSON.tables.detail[i].fields.columns.SerialNumber;
}

//do something....

Hope that helps.

thks for your help hamelj