visura-parser 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -59,9 +59,20 @@ and is copied to `filename`; it is not inferred from the PDF.
59
59
 
60
60
  Missing fields are omitted. Counts and monetary amounts are numbers; explicit
61
61
  availability values are booleans. Dates use ISO `YYYY-MM-DD`. Official Italian
62
- role names are preserved in structured officer and shareholder records. Current
63
- secondary offices and local business units are returned in `localUnits`, in
64
- their printed order.
62
+ role names are preserved in structured officer and shareholder records. When
63
+ the source prints them, individual officers and shareholders also include birth
64
+ date, birthplace, birth-province code, citizenship, and residence address.
65
+ Current secondary offices and local business units are returned in `localUnits`,
66
+ in their printed order. When present, a local unit may also include its type,
67
+ trade name, secondary activity, local ATECO code, ATECO classifications, activity
68
+ declarations, and licences or authorisations. These filing and authorisation
69
+ values preserve the printed source prose. Classification versions are included
70
+ only when the source prints an explicit version heading. The local `atecoCode`
71
+ is selected from the first `PRIMARIA` or `PREVALENTE` classification in source
72
+ order, or the first unqualified classification; it is omitted for secondary-only
73
+ classifications.
74
+ See the [local-unit corpus findings](docs/local-unit-fields.md) for field coverage
75
+ and layout constraints.
65
76
  See the [example output](exampleOutput.json) and
66
77
  [the schema](outputSchema.json).
67
78
 
@@ -1 +1 @@
1
- {"version":3,"file":"parse-local-units.d.ts","sourceRoot":"","sources":["../../src/internal/parse-local-units.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AA2E/D,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,EAAE,CAoD9D"}
1
+ {"version":3,"file":"parse-local-units.d.ts","sourceRoot":"","sources":["../../src/internal/parse-local-units.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,SAAS,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AA0K/D,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,EAAE,CAoG9D"}
@@ -5,7 +5,12 @@ const LOCAL_UNIT_HEADING = /^unit[aà]'? locale n\.?\s*([a-z]{2})\s*\/\s*(\d+)\b
5
5
  const SECTION_HEADING = /^\d+\s+\D/u;
6
6
  const ADDRESS_LABEL = /^indirizzo\b\s*:?[\s]*/i;
7
7
  const ACTIVITY_LABEL = /^attivit[aà]'? esercitata\b\s*:?[\s]*/i;
8
- const FIELD_OR_BLOCK_LABEL = /^(?:data (?:di )?apertura|indirizzo|estremi di iscrizione|numero repertorio economico amministrativo|attivit[aà]'? (?:secondaria )?esercitata|classificazione ateco(?:ri)?|denuncia attivit[aà]'?|licenze\/?autorizzazioni|tipo)\b/i;
8
+ const SECONDARY_ACTIVITY_LABEL = /^attivit[aà]'? secondaria esercitata\b\s*:?[\s]*/i;
9
+ const CLASSIFICATION_LABEL = /^classificazione ateco(?:ri)?\b/i;
10
+ const TRADE_NAME_LABEL = /^insegna\b\s*:?\s*/i;
11
+ const DECLARATION_LABEL = /^denuncia (?:di )?(?:inizio )?attivit[aà]'?(?=\s|:|$)\s*:?\s*/i;
12
+ const LICENCE_LABEL = /^licenz[ae](?:\/?autorizzazion[ei])?\b\s*:?\s*/i;
13
+ const FIELD_OR_BLOCK_LABEL = /^(?:data (?:di )?apertura|indirizzo|insegna|codice fiscale|estremi di iscrizione|numero repertorio economico amministrativo|attivit[aà]'? (?:secondaria )?esercitata|classificazione ateco(?:ri)?|denuncia|licenz[ae](?:\/?autorizzazion[ei])?|responsabile tecnico|preposto|carica|albi|addetti|codice nace|tipo)\b/i;
9
14
  function rowsFromSpans(spans) {
10
15
  const rows = [];
11
16
  for (const span of spansInReadingOrder({
@@ -28,6 +33,7 @@ function rowsFromSpans(spans) {
28
33
  x: row[0]?.x ?? 0,
29
34
  y: row[0]?.y ?? 0,
30
35
  text: normalizeText(row.map((span) => span.text).join(' ')),
36
+ spans: row,
31
37
  };
32
38
  });
33
39
  }
@@ -59,6 +65,85 @@ function inlineValue(rows, label) {
59
65
  }
60
66
  return undefined;
61
67
  }
68
+ function blockValues(rows, label) {
69
+ const values = [];
70
+ for (const [index, row] of rows.entries()) {
71
+ if (!label.test(row.text))
72
+ continue;
73
+ const value = multilineValue(rows.slice(index), label);
74
+ if (value !== undefined)
75
+ values.push(value);
76
+ }
77
+ return values;
78
+ }
79
+ function isAlignedType(row, heading, width) {
80
+ return (row !== undefined &&
81
+ row.y >= heading.y &&
82
+ row.y - heading.y <= 4 &&
83
+ row.x >= width * 0.3 &&
84
+ !FIELD_OR_BLOCK_LABEL.test(row.text));
85
+ }
86
+ function classificationsFromRows(rows) {
87
+ const result = [];
88
+ let inBlock = false;
89
+ let version;
90
+ let current;
91
+ let readingDescription = false;
92
+ for (const row of rows) {
93
+ let text = normalizeText(row.spans
94
+ .filter((span) => !/^dell'attivit[aà]'?$/i.test(normalizeText(span.text)))
95
+ .map((span) => span.text)
96
+ .join(' '));
97
+ if (CLASSIFICATION_LABEL.test(row.text)) {
98
+ inBlock = true;
99
+ version = /\b(\d{4}(?:\s*-\s*\d{4})?)\b/
100
+ .exec(row.text)?.[1]
101
+ ?.replace(/\s/g, '');
102
+ current = undefined;
103
+ readingDescription = false;
104
+ // The label is in the left column, with the first code alongside it.
105
+ const codeStart = row.text.search(/\bcodice\s*:/i);
106
+ if (codeStart < 0)
107
+ continue;
108
+ text = row.text.slice(codeStart);
109
+ }
110
+ else if (FIELD_OR_BLOCK_LABEL.test(row.text)) {
111
+ inBlock = false;
112
+ continue;
113
+ }
114
+ if (!inBlock)
115
+ continue;
116
+ const code = /^(?:codice\s*:?\s*)?(\d{2}(?:\.\d{1,2}){0,2})(?:\s*[-–:]\s*(.+))?$/i.exec(text);
117
+ if (code?.[1] !== undefined) {
118
+ current = { code: code[1] };
119
+ if (version !== undefined)
120
+ current.version = version;
121
+ if (code[2] !== undefined)
122
+ current.description = code[2];
123
+ result.push(current);
124
+ readingDescription = true;
125
+ continue;
126
+ }
127
+ if (current === undefined)
128
+ continue;
129
+ const importance = /^importanza\s*:\s*(.+)$/i.exec(text);
130
+ if (importance?.[1] !== undefined) {
131
+ current.importance = importance[1];
132
+ readingDescription = false;
133
+ }
134
+ else if (/^(?:prevalente|primaria|secondaria)\b/i.test(text)) {
135
+ current.importance = text;
136
+ readingDescription = false;
137
+ }
138
+ else if (/^fonte\b/i.test(text)) {
139
+ readingDescription = false;
140
+ }
141
+ else if (readingDescription) {
142
+ current.description = normalizeText(`${current.description ?? ''} ${text.replace(/^descrizione\s*:\s*/i, '')}`);
143
+ }
144
+ }
145
+ return result;
146
+ }
62
147
  /** Parses current local-unit records and keeps their printed source order. */
63
148
  export function parseLocalUnits(pdf) {
64
149
  const page = joinPages(pdf.pages);
@@ -72,7 +157,13 @@ export function parseLocalUnits(pdf) {
72
157
  .filter((entry) => entry.match !== null && entry.row.x < page.width * 0.1);
73
158
  const result = [];
74
159
  for (const [position, start] of starts.entries()) {
75
- const nextRecord = starts[position + 1]?.index ?? rows.length;
160
+ const nextStart = starts[position + 1];
161
+ const nextRecord = nextStart === undefined
162
+ ? rows.length
163
+ : nextStart.index -
164
+ (isAlignedType(rows[nextStart.index - 1], nextStart.row, page.width)
165
+ ? 1
166
+ : 0);
76
167
  const nextSection = rows.findIndex((row, index) => index > start.index &&
77
168
  index < nextRecord &&
78
169
  row.x < page.width * 0.15 &&
@@ -84,6 +175,20 @@ export function parseLocalUnits(pdf) {
84
175
  if (province === undefined || ordinal === undefined)
85
176
  continue;
86
177
  const unit = { number: `${province.toUpperCase()}/${ordinal}` };
178
+ // Different font baselines put the right-hand facility type slightly
179
+ // above its left-hand record heading in registry PDFs.
180
+ const previousRow = rows[start.index - 1];
181
+ const headingSuffix = normalizeText(start.row.text.slice(start.match[0].length));
182
+ const firstRow = recordRows[0];
183
+ const typeRow = isAlignedType(previousRow, start.row, page.width)
184
+ ? previousRow
185
+ : firstRow;
186
+ const typeText = headingSuffix.length > 0 ? headingSuffix : typeRow?.text;
187
+ if (typeText !== undefined && !FIELD_OR_BLOCK_LABEL.test(typeText)) {
188
+ const type = normalizeText(typeText.split(/\bdata (?:di )?apertura\b/i)[0] ?? '');
189
+ if (type.length > 0)
190
+ unit.type = type;
191
+ }
87
192
  const openingDate = inlineValue(recordRows, /\bdata (?:di )?apertura\s*:?\s*(\d{2}\/\d{2}\/\d{4})\b/i);
88
193
  const parsedOpeningDate = openingDate === undefined ? undefined : parseItalianDate(openingDate);
89
194
  if (parsedOpeningDate !== undefined)
@@ -97,6 +202,26 @@ export function parseLocalUnits(pdf) {
97
202
  const primaryActivity = multilineValue(recordRows, ACTIVITY_LABEL);
98
203
  if (primaryActivity !== undefined)
99
204
  unit.primaryActivity = primaryActivity;
205
+ const secondaryActivity = multilineValue(recordRows, SECONDARY_ACTIVITY_LABEL);
206
+ if (secondaryActivity !== undefined)
207
+ unit.secondaryActivity = secondaryActivity;
208
+ const tradeName = multilineValue(recordRows, TRADE_NAME_LABEL);
209
+ if (tradeName !== undefined)
210
+ unit.tradeName = tradeName;
211
+ const declarations = blockValues(recordRows, DECLARATION_LABEL);
212
+ if (declarations.length > 0)
213
+ unit.activityDeclarations = declarations;
214
+ const licences = blockValues(recordRows, LICENCE_LABEL);
215
+ if (licences.length > 0)
216
+ unit.licensesAndRegistrations = licences;
217
+ const classifications = classificationsFromRows(recordRows);
218
+ if (classifications.length > 0) {
219
+ unit.atecoClassifications = classifications;
220
+ const primary = classifications.find((classification) => /^(?:primaria|prevalente)\b/i.test(classification.importance ?? '')) ??
221
+ classifications.find((classification) => classification.importance === undefined);
222
+ if (primary?.code !== undefined)
223
+ unit.atecoCode = primary.code;
224
+ }
100
225
  result.push(unit);
101
226
  }
102
227
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"parse-local-units.js","sourceRoot":"","sources":["../../src/internal/parse-local-units.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-local-units.js","sourceRoot":"","sources":["../../src/internal/parse-local-units.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-people.d.ts","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAiB,YAAY,EAAkB,MAAM,YAAY,CAAC;AAqC9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AAgID,wBAAgB,WAAW,CACzB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,GAChB;IACD,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CA6LA"}
1
+ {"version":3,"file":"parse-people.d.ts","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAiB,YAAY,EAAkB,MAAM,YAAY,CAAC;AAqC9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AA0WD,wBAAgB,WAAW,CACzB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,GAChB;IACD,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CA6NA"}
@@ -1,5 +1,5 @@
1
1
  import { foldText, normalizeText, semanticSpans } from './text.js';
2
- import { parseItalianAmount } from './values.js';
2
+ import { parseItalianAmount, parseItalianDate } from './values.js';
3
3
  import { joinPages } from './join-pages.js';
4
4
  const OFFICER_ROLE = /^(?:presidente(?: (?:del )?consiglio (?:di |d')?amministrazione| del collegio sindacale)?|vice ?presidente(?: (?:del )?consiglio (?:di |d')?amministrazione)?|amministrat(?:ore|rice)(?: unic[oa]| delegat[oa])?|consigliere(?: delegato)?|sindaco(?: effettivo| supplente)?|titolare(?: dell'impresa individuale| di impresa individuale| firmatari[oa])?|liquidatore|procuratore(?: speciale| generale)?|legale rappresentante)$/i;
5
5
  const PARTNER_GOVERNANCE_ROLE = /^soci[oa] (?:accomandatari[oa]|amministrat(?:ore|rice)|legale rappresentante)$/i;
@@ -50,7 +50,16 @@ function identities(page, spans) {
50
50
  .sort((a, b) => a.y - b.y)[0];
51
51
  if (name &&
52
52
  !result.some((item) => item.name === name && item.taxCode === match[1]))
53
- result.push({ name, taxCode: match[1], y: span.y });
53
+ result.push({ name, taxCode: match[1], y: span.y, details: {} });
54
+ }
55
+ for (const record of result) {
56
+ const next = result
57
+ .filter((candidate) => candidate.y < record.y - 2 &&
58
+ candidate.name.x < page.width / 2 === record.name.x < page.width / 2)
59
+ .sort((left, right) => right.y - left.y)[0];
60
+ const upper = record.name.y + OWNERSHIP_ROW_TOLERANCE;
61
+ const lower = Math.max(record.y - 100, next === undefined ? -Infinity : next.y + OWNERSHIP_ROW_TOLERANCE);
62
+ record.details = parsePersonDetails(spans.filter((candidate) => candidate.y <= upper && candidate.y > lower));
54
63
  }
55
64
  return result;
56
65
  }
@@ -87,6 +96,128 @@ function fullName(page, first) {
87
96
  }
88
97
  return normalizeText(parts.join(' '));
89
98
  }
99
+ function identityForName(page, records, name) {
100
+ const direct = records.find((record) => record.name === name);
101
+ if (direct !== undefined)
102
+ return direct;
103
+ const foldedName = foldText(fullName(page, name));
104
+ const matching = records.filter((record) => foldText(fullName(page, record.name)) === foldedName);
105
+ return matching.length === 1 ? matching[0] : undefined;
106
+ }
107
+ function valueBeside(label, spans) {
108
+ const candidates = spans.filter((span) => span !== label &&
109
+ Math.abs(span.y - label.y) <= 2 &&
110
+ span.x > label.x + label.width - 2);
111
+ const leftmost = candidates.reduce((minimum, span) => Math.min(minimum, span.x), Infinity);
112
+ const value = candidates
113
+ .filter((span) => Math.abs(span.x - leftmost) <= 2)
114
+ .sort((left, right) => right.width - left.width)[0];
115
+ return value === undefined ? undefined : normalizeText(value.text);
116
+ }
117
+ function valueBelow(label, spans) {
118
+ return spans
119
+ .filter((span) => span.y < label.y - 2 &&
120
+ label.y - span.y <= 36 &&
121
+ span.x >= label.x - 2 &&
122
+ !TAX_CODE.test(normalizeText(span.text)) &&
123
+ !/^(?:codice fiscale|cittadinanza|residenza|residente|nat[oa]\b|carica\b)/i.test(normalizeText(span.text)))
124
+ .sort((left, right) => right.y - left.y || left.x - right.x || right.width - left.width)[0];
125
+ }
126
+ function assignBirthDetails(result, value) {
127
+ const normalized = normalizeText(value).replace(/^:\s*/, '');
128
+ const dateMatch = /(?:^|\s)il\s+(\d{2}\/\d{2}\/\d{4})(?:\s|$)/i.exec(normalized);
129
+ const placeWithProvince = normalizeText(dateMatch === null ? normalized : normalized.slice(0, dateMatch.index));
130
+ const province = /^(.*?)\s+\(([A-Z]{2})\)$/i.exec(placeWithProvince);
131
+ const place = normalizeText(province?.[1] ?? placeWithProvince);
132
+ if (place.length > 0 && result.birthPlace === undefined)
133
+ result.birthPlace = place;
134
+ if (province?.[2] && result.birthProvince === undefined)
135
+ result.birthProvince = province[2].toUpperCase();
136
+ if (dateMatch?.[1] && result.birthDate === undefined) {
137
+ const date = parseItalianDate(dateMatch[1]);
138
+ if (date !== undefined)
139
+ result.birthDate = date;
140
+ }
141
+ }
142
+ function parsePersonDetails(spans) {
143
+ const result = {};
144
+ const ordered = [...spans].sort((left, right) => right.y - left.y || left.x - right.x || left.width - right.width);
145
+ for (const span of ordered) {
146
+ const text = normalizeText(span.text);
147
+ const born = /^nat[oa]\s+(?:ad|a)\s*:?[ ]*(.+)$/i.exec(text);
148
+ if (born?.[1])
149
+ assignBirthDetails(result, born[1]);
150
+ if (/^nat[oa]\s+(?:ad|a)\s*:?$/i.test(text)) {
151
+ const beside = valueBeside(span, spans);
152
+ const below = beside === undefined ? valueBelow(span, spans) : undefined;
153
+ const value = beside ?? below?.text;
154
+ if (value !== undefined) {
155
+ const followingDate = below === undefined
156
+ ? undefined
157
+ : spans.find((candidate) => candidate.y < below.y - 2 &&
158
+ below.y - candidate.y <= 20 &&
159
+ Math.abs(candidate.x - below.x) <= 3 &&
160
+ /^il\s+\d{2}\/\d{2}\/\d{4}$/i.test(normalizeText(candidate.text)));
161
+ assignBirthDetails(result, `${normalizeText(value)}${followingDate === undefined ? '' : ` ${normalizeText(followingDate.text)}`}`);
162
+ }
163
+ }
164
+ const citizenship = /^cittadinanza\s*:?\s*(.*)$/i.exec(text);
165
+ if (citizenship !== null && result.citizenship === undefined) {
166
+ const value = citizenship[1] ||
167
+ valueBeside(span, spans) ||
168
+ valueBelow(span, spans)?.text;
169
+ if (value)
170
+ result.citizenship = normalizeText(value);
171
+ }
172
+ const residence = /^(?:residenza|residente(?:\s+a)?)\s*:?\s*(.*)$/i.exec(text);
173
+ if (residence !== null && result.residenceAddress === undefined) {
174
+ const value = residence[1] ||
175
+ valueBeside(span, spans) ||
176
+ valueBelow(span, spans)?.text;
177
+ if (value)
178
+ result.residenceAddress = normalizeText(value);
179
+ }
180
+ }
181
+ return result;
182
+ }
183
+ function personDetailSpans(spans, records, sections, pageWidth, role, name) {
184
+ const nextIdentity = records
185
+ .filter((record) => record.name.y < name.y - 2 &&
186
+ record.name.x < pageWidth / 2 === name.x < pageWidth / 2)
187
+ .sort((left, right) => right.name.y - left.name.y)[0];
188
+ const nextSection = sections
189
+ .filter((span) => span.y < name.y)
190
+ .sort((left, right) => right.y - left.y)[0];
191
+ const lower = Math.max(name.y - 180, nextIdentity === undefined
192
+ ? -Infinity
193
+ : nextIdentity.name.y + OWNERSHIP_ROW_TOLERANCE, nextSection?.y ?? -Infinity);
194
+ const upper = Math.max(role.y, name.y) + OWNERSHIP_ROW_TOLERANCE;
195
+ return spans.filter((span) => span.y <= upper &&
196
+ span.y > lower &&
197
+ !SECTION.test(normalizeText(span.text)));
198
+ }
199
+ function ownershipDetailSpans(spans, roles, sections, role, name) {
200
+ const nextRole = roles.find((other) => other.y < name.y - 2);
201
+ const nextSection = sections
202
+ .filter((span) => span.y < name.y)
203
+ .sort((left, right) => right.y - left.y)[0];
204
+ const lower = Math.max(name.y - 180, nextRole === undefined ? -Infinity : nextRole.y + OWNERSHIP_ROW_TOLERANCE, nextSection?.y ?? -Infinity);
205
+ return spans.filter((span) => span.y <= role.y + OWNERSHIP_ROW_TOLERANCE &&
206
+ span.y > lower &&
207
+ !SECTION.test(normalizeText(span.text)));
208
+ }
209
+ function mergePersonDetails(target, source) {
210
+ for (const key of [
211
+ 'birthDate',
212
+ 'birthPlace',
213
+ 'birthProvince',
214
+ 'citizenship',
215
+ 'residenceAddress',
216
+ ]) {
217
+ if (target[key] === undefined && source[key] !== undefined)
218
+ target[key] = source[key];
219
+ }
220
+ }
90
221
  function mergeOfficer(officers, entry) {
91
222
  const existing = officers.find((other) => entry.taxCode !== undefined && other.taxCode !== undefined
92
223
  ? entry.taxCode === other.taxCode
@@ -97,6 +228,7 @@ function mergeOfficer(officers, entry) {
97
228
  }
98
229
  if (entry.taxCode !== undefined)
99
230
  existing.taxCode = entry.taxCode;
231
+ mergePersonDetails(existing, entry);
100
232
  for (const role of entry.roles ?? []) {
101
233
  existing.roles ??= [];
102
234
  if (!existing.roles.some((other) => foldText(other) === foldText(role)))
@@ -144,7 +276,7 @@ export function parsePeople(pdf, coverPage) {
144
276
  : adjacentName(page, role, roleFragments);
145
277
  let identity = adjacent === undefined
146
278
  ? undefined
147
- : records.find((record) => record.name === adjacent);
279
+ : identityForName(page, records, adjacent);
148
280
  if (adjacent === undefined) {
149
281
  identity = records
150
282
  .filter((record) => record.y > role.y &&
@@ -160,9 +292,12 @@ export function parsePeople(pdf, coverPage) {
160
292
  const name = adjacent ?? identity?.name;
161
293
  if (name === undefined)
162
294
  continue;
295
+ const details = { ...(identity?.details ?? {}) };
296
+ mergePersonDetails(details, parsePersonDetails(personDetailSpans(spans, records, sections, page.width, role, name)));
163
297
  const person = {
164
298
  name: fullName(page, name),
165
299
  ...(identity ? { taxCode: identity.taxCode } : {}),
300
+ ...details,
166
301
  };
167
302
  if (classification.officer) {
168
303
  mergeOfficer(result.officers, { ...person, roles: [text] });
@@ -190,17 +325,8 @@ export function parsePeople(pdf, coverPage) {
190
325
  /^rappresentante dell'impresa$/i.test(normalizeText(span.text))))
191
326
  result.primaryRepresentative = { name: person.name, role: text };
192
327
  // Quota facts must be inside this ownership record. No capital/paid-up fallback.
193
- const nextRole = roles.find((other) => other.y < name.y - 2);
194
- const nextSection = spans
195
- .filter((span) => SECTION.test(normalizeText(span.text)) && span.y < name.y)
196
- .sort((a, b) => b.y - a.y)[0];
197
- const lower = Math.max(name.y - 180, nextRole === undefined
198
- ? -Infinity
199
- : nextRole.y + OWNERSHIP_ROW_TOLERANCE, nextSection?.y ?? -Infinity);
200
- const detail = spans.filter((span) => span.y <= role.y + OWNERSHIP_ROW_TOLERANCE &&
201
- span.y > lower &&
202
- !SECTION.test(normalizeText(span.text)));
203
- for (const span of detail) {
328
+ const ownershipDetails = ownershipDetailSpans(spans, roles, sections, role, name);
329
+ for (const span of ownershipDetails) {
204
330
  const value = normalizeText(span.text);
205
331
  const nominal = /^(?:valore nominale|quota)\s*(?:di nominali)?\s*:?\s*([\d.,]+)\s*(euro|EUR)?$/i.exec(value);
206
332
  if (nominal?.[1]) {
@@ -229,12 +355,48 @@ export function parsePeople(pdf, coverPage) {
229
355
  (other.nominalValue === undefined ||
230
356
  shareholder.nominalValue === undefined ||
231
357
  other.nominalValue === shareholder.nominalValue));
232
- if (existing)
233
- Object.assign(existing, shareholder);
358
+ if (existing) {
359
+ mergePersonDetails(existing, shareholder);
360
+ Object.assign(existing, {
361
+ ...(shareholder.taxCode !== undefined
362
+ ? { taxCode: shareholder.taxCode }
363
+ : {}),
364
+ ...(shareholder.rightType !== undefined
365
+ ? { rightType: shareholder.rightType }
366
+ : {}),
367
+ ...(shareholder.nominalValue !== undefined
368
+ ? { nominalValue: shareholder.nominalValue }
369
+ : {}),
370
+ ...(shareholder.currency !== undefined
371
+ ? { currency: shareholder.currency }
372
+ : {}),
373
+ ...(shareholder.ownershipPercentage !== undefined
374
+ ? { ownershipPercentage: shareholder.ownershipPercentage }
375
+ : {}),
376
+ ...(shareholder.isSoleShareholder !== undefined
377
+ ? { isSoleShareholder: shareholder.isSoleShareholder }
378
+ : {}),
379
+ });
380
+ }
234
381
  else
235
382
  result.shareholders.push(shareholder);
236
383
  }
237
384
  }
385
+ for (const record of records) {
386
+ for (const person of [...result.officers, ...result.shareholders]) {
387
+ if (person.taxCode === record.taxCode)
388
+ mergePersonDetails(person, record.details);
389
+ }
390
+ }
391
+ for (const shareholder of result.shareholders) {
392
+ if (shareholder.taxCode === undefined)
393
+ continue;
394
+ const officer = result.officers.find((candidate) => candidate.taxCode === shareholder.taxCode);
395
+ if (officer === undefined)
396
+ continue;
397
+ mergePersonDetails(officer, shareholder);
398
+ mergePersonDetails(shareholder, officer);
399
+ }
238
400
  return result;
239
401
  }
240
402
  //# sourceMappingURL=parse-people.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-people.js","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-people.js","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -9,6 +9,8 @@ export interface Representative {
9
9
  export interface AtecoClassification {
10
10
  /** ATECO or ATECORI classification code. */
11
11
  code?: string;
12
+ /** ATECO classification version, only when an explicit version heading is printed. */
13
+ version?: string;
12
14
  /** Official activity description associated with the classification code. */
13
15
  description?: string;
14
16
  /** Official classification qualifier as reported in the source document, when available, e.g. 'prevalente' or 'primaria'. */
@@ -111,6 +113,20 @@ export interface LocalUnit {
111
113
  reaNumber?: string;
112
114
  /** Official description of the primary activity carried out at the local unit. */
113
115
  primaryActivity?: string;
116
+ /** Type or facility kind of the local unit as reported by the Business Register. */
117
+ type?: string;
118
+ /** Official description of a secondary activity carried out at the local unit. */
119
+ secondaryActivity?: string;
120
+ /** Primary/local Italian ATECO classification code associated with the local unit. */
121
+ atecoCode?: string;
122
+ /** ATECO or ATECORI classifications reported for the local unit. */
123
+ atecoClassifications?: AtecoClassification[];
124
+ /** Trade name (insegna) reported for the local unit. */
125
+ tradeName?: string;
126
+ /** Activity declarations or SCIA filings, preserved as printed source prose. */
127
+ activityDeclarations?: string[];
128
+ /** Licences and authorisations, preserved as printed source prose. */
129
+ licensesAndRegistrations?: string[];
114
130
  }
115
131
  /** Structured registry data. */
116
132
  export interface Officer {
@@ -118,6 +134,16 @@ export interface Officer {
118
134
  name?: string;
119
135
  /** Italian tax identification code of the person, when reported. */
120
136
  taxCode?: string;
137
+ /** Date of birth of the person, normalized as an ISO calendar date. */
138
+ birthDate?: string;
139
+ /** Place of birth of the person, without the separately reported province code. */
140
+ birthPlace?: string;
141
+ /** Province or foreign-state code printed with the person's place of birth. */
142
+ birthProvince?: string;
143
+ /** Citizenship of the person as reported in the source document. */
144
+ citizenship?: string;
145
+ /** Residence address of the person as reported in the source document. */
146
+ residenceAddress?: string;
121
147
  /** Official corporate roles held by the person, preserved as reported in the source document. */
122
148
  roles?: string[];
123
149
  }
@@ -127,6 +153,16 @@ export interface Shareholder {
127
153
  name?: string;
128
154
  /** Italian tax identification code of the shareholder or member, when reported. */
129
155
  taxCode?: string;
156
+ /** Date of birth of an individual shareholder, normalized as an ISO calendar date. */
157
+ birthDate?: string;
158
+ /** Place of birth of an individual shareholder, without the separately reported province code. */
159
+ birthPlace?: string;
160
+ /** Province or foreign-state code printed with an individual shareholder's place of birth. */
161
+ birthProvince?: string;
162
+ /** Citizenship of an individual shareholder as reported in the source document. */
163
+ citizenship?: string;
164
+ /** Residence address of an individual shareholder as reported in the source document. */
165
+ residenceAddress?: string;
130
166
  /** Official type of right over the shares or ownership interest as reported in the source document, e.g. 'PROPRIETA'', 'USUFRUTTO' or 'NUDA PROPRIETA''. */
131
167
  rightType?: string;
132
168
  /** Nominal value of the shares, quotas or ownership interest held. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,31 @@
126
126
  "address": "MILANO (MI) VIA ESEMPIO 15 - 20121",
127
127
  "openingDate": "2023-06-01",
128
128
  "reaNumber": "MI-2684512",
129
- "primaryActivity": "CONSULENZA NEL SETTORE DELLE TECNOLOGIE DELL'INFORMATICA"
129
+ "primaryActivity": "CONSULENZA NEL SETTORE DELLE TECNOLOGIE DELL'INFORMATICA",
130
+ "type": "UNITA' LOCALE",
131
+ "secondaryActivity": "ELABORAZIONE DATI",
132
+ "atecoCode": "62.02.00",
133
+ "atecoClassifications": [
134
+ {
135
+ "code": "62.02.00",
136
+ "version": "2007-2022",
137
+ "description": "CONSULENZA NEL SETTORE DELLE TECNOLOGIE DELL'INFORMATICA",
138
+ "importance": "PRIMARIA"
139
+ },
140
+ {
141
+ "code": "63.11.19",
142
+ "version": "2007-2022",
143
+ "description": "ALTRE ELABORAZIONI ELETTRONICHE DI DATI",
144
+ "importance": "SECONDARIA"
145
+ }
146
+ ],
147
+ "tradeName": "ACME DIGITAL LAB",
148
+ "activityDeclarations": [
149
+ "SCIA PRESENTATA AL SUAP DEL COMUNE DI MILANO IN DATA 01/06/2023"
150
+ ],
151
+ "licensesAndRegistrations": [
152
+ "AUTORIZZAZIONE COMUNALE ALL'ESERCIZIO DELL'ATTIVITA' DEL 01/06/2023"
153
+ ]
130
154
  }
131
155
  ],
132
156
 
@@ -134,6 +158,11 @@
134
158
  {
135
159
  "name": "MARIO ROSSI",
136
160
  "taxCode": "RSSMRA80A01F205X",
161
+ "birthDate": "1980-01-01",
162
+ "birthPlace": "MILANO",
163
+ "birthProvince": "MI",
164
+ "citizenship": "ITALIANA",
165
+ "residenceAddress": "MILANO (MI) VIA ESEMPIO 10 - 20121",
137
166
  "roles": [
138
167
  "PRESIDENTE CONSIGLIO AMMINISTRAZIONE",
139
168
  "AMMINISTRATORE DELEGATO"
@@ -170,6 +199,11 @@
170
199
  {
171
200
  "name": "MARIO ROSSI",
172
201
  "taxCode": "RSSMRA80A01F205X",
202
+ "birthDate": "1980-01-01",
203
+ "birthPlace": "MILANO",
204
+ "birthProvince": "MI",
205
+ "citizenship": "ITALIANA",
206
+ "residenceAddress": "MILANO (MI) VIA ESEMPIO 10 - 20121",
173
207
 
174
208
  "rightType": "PROPRIETA'",
175
209
 
package/outputSchema.json CHANGED
@@ -137,6 +137,11 @@
137
137
  "description": "ATECO or ATECORI classification code."
138
138
  },
139
139
 
140
+ "version": {
141
+ "type": "string",
142
+ "description": "ATECO classification version, only when an explicit version heading is printed."
143
+ },
144
+
140
145
  "description": {
141
146
  "type": "string",
142
147
  "description": "Official activity description associated with the classification code."
@@ -394,6 +399,73 @@
394
399
  "primaryActivity": {
395
400
  "type": "string",
396
401
  "description": "Official description of the primary activity carried out at the local unit."
402
+ },
403
+
404
+ "type": {
405
+ "type": "string",
406
+ "description": "Type or facility kind of the local unit as reported by the Business Register."
407
+ },
408
+
409
+ "secondaryActivity": {
410
+ "type": "string",
411
+ "description": "Official description of a secondary activity carried out at the local unit."
412
+ },
413
+
414
+ "atecoCode": {
415
+ "type": "string",
416
+ "description": "Primary/local Italian ATECO classification code associated with the local unit."
417
+ },
418
+
419
+ "atecoClassifications": {
420
+ "type": "array",
421
+ "description": "ATECO or ATECORI classifications reported for the local unit.",
422
+ "items": {
423
+ "type": "object",
424
+ "additionalProperties": false,
425
+
426
+ "properties": {
427
+ "code": {
428
+ "type": "string",
429
+ "description": "ATECO or ATECORI classification code."
430
+ },
431
+
432
+ "version": {
433
+ "type": "string",
434
+ "description": "ATECO classification version, only when an explicit version heading is printed."
435
+ },
436
+
437
+ "description": {
438
+ "type": "string",
439
+ "description": "Official activity description associated with the classification code."
440
+ },
441
+
442
+ "importance": {
443
+ "type": "string",
444
+ "description": "Official classification qualifier as reported in the source document, when available, e.g. 'prevalente' or 'primaria'."
445
+ }
446
+ }
447
+ }
448
+ },
449
+
450
+ "tradeName": {
451
+ "type": "string",
452
+ "description": "Trade name (insegna) reported for the local unit."
453
+ },
454
+
455
+ "activityDeclarations": {
456
+ "type": "array",
457
+ "description": "Activity declarations or SCIA filings, preserved as printed source prose.",
458
+ "items": {
459
+ "type": "string"
460
+ }
461
+ },
462
+
463
+ "licensesAndRegistrations": {
464
+ "type": "array",
465
+ "description": "Licences and authorisations, preserved as printed source prose.",
466
+ "items": {
467
+ "type": "string"
468
+ }
397
469
  }
398
470
  }
399
471
  }
@@ -417,6 +489,33 @@
417
489
  "description": "Italian tax identification code of the person, when reported."
418
490
  },
419
491
 
492
+ "birthDate": {
493
+ "type": "string",
494
+ "format": "date",
495
+ "description": "Date of birth of the person, normalized as an ISO calendar date."
496
+ },
497
+
498
+ "birthPlace": {
499
+ "type": "string",
500
+ "description": "Place of birth of the person, without the separately reported province code."
501
+ },
502
+
503
+ "birthProvince": {
504
+ "type": "string",
505
+ "pattern": "^[A-Z]{2}$",
506
+ "description": "Province or foreign-state code printed with the person's place of birth."
507
+ },
508
+
509
+ "citizenship": {
510
+ "type": "string",
511
+ "description": "Citizenship of the person as reported in the source document."
512
+ },
513
+
514
+ "residenceAddress": {
515
+ "type": "string",
516
+ "description": "Residence address of the person as reported in the source document."
517
+ },
518
+
420
519
  "roles": {
421
520
  "type": "array",
422
521
  "description": "Official corporate roles held by the person, preserved as reported in the source document.",
@@ -446,6 +545,33 @@
446
545
  "description": "Italian tax identification code of the shareholder or member, when reported."
447
546
  },
448
547
 
548
+ "birthDate": {
549
+ "type": "string",
550
+ "format": "date",
551
+ "description": "Date of birth of an individual shareholder, normalized as an ISO calendar date."
552
+ },
553
+
554
+ "birthPlace": {
555
+ "type": "string",
556
+ "description": "Place of birth of an individual shareholder, without the separately reported province code."
557
+ },
558
+
559
+ "birthProvince": {
560
+ "type": "string",
561
+ "pattern": "^[A-Z]{2}$",
562
+ "description": "Province or foreign-state code printed with an individual shareholder's place of birth."
563
+ },
564
+
565
+ "citizenship": {
566
+ "type": "string",
567
+ "description": "Citizenship of an individual shareholder as reported in the source document."
568
+ },
569
+
570
+ "residenceAddress": {
571
+ "type": "string",
572
+ "description": "Residence address of an individual shareholder as reported in the source document."
573
+ },
574
+
449
575
  "rightType": {
450
576
  "type": "string",
451
577
  "description": "Official type of right over the shares or ownership interest as reported in the source document, e.g. 'PROPRIETA'', 'USUFRUTTO' or 'NUDA PROPRIETA''."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "visura-parser",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "Deterministic parsing of text-based Italian Visura camerale PDFs",
5
5
  "keywords": [
6
6
  "camera-di-commercio",