Lavorare con PDF/A o PDF/UA
Il formato PDF/A e PDF/UA impone diversi requisiti relativi al contenuto del documento che non possono essere soddisfatti durante la conversione automatica da un documento in formato Word a PDF. Questi requisiti devono essere verificati e corretti in un documento Word prima della conversione o in un documento PDF dopo la conversione al fine di produrre un documento pienamente conforme a PDF/A e PDF/UA.
I requisiti di base sono per la struttura o i caratteri di un documento PDF/A e PDF/UA, che considereremo nelle sezioni seguenti.
Requisiti di struttura del documento
I requisiti attuali sono per PDF/A-1a, PDF/A-2a, PDF/A-4, formati PDF/UA-1.
Ci sono alcune sfumature di come funziona Aspose.Words quando si converte in vari standard di formato PDF. Devono essere presi in considerazione se si desidera ottenere il risultato atteso.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
È sconsigliabile per gli scrittori generare informazioni strutturali o semantiche utilizzando processi automatizzati senza verifica appropriata.
ISO 19005-2, 6.7.1
Le sottosezioni seguenti descrivono le sfumature di come funziona Aspose.Words durante la conversione in vari standard di formato PDF e opzioni per la loro soluzione.
Tipo di struttura
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Un documento PDF è una sequenza di blocchi come intestazioni, paragrafi, tabelle e altri. Questi blocchi formano una struttura del documento-fortemente o debole.
Sia le strutture forti che quelle deboli sono valide per PDF/A. Microsoft Word i documenti hanno una struttura debole in base alla progettazione e Aspose.Words crea PDF con la struttura debole rispettivamente e genera anche intestazioni in base ai livelli di struttura dei paragrafi nel documento di origine.
Per un documento PDF/UA-1 con una struttura debole, è inoltre necessario che i numeri di intestazione vadano in ordine senza spazi vuoti.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
La struttura a livello di blocco può seguire uno dei due paradigmi principali:
ISO-32000-1, 14.8.4.3.5
Per i documenti PDF/UA-1, la specifica contiene un'aggiunta relativa ai livelli di intestazione (espandere per visualizzare i dettagli):
Se la semantica del documento richiede una sequenza discendente di intestazioni, tale sequenza deve procedere in rigoroso ordine numerico e non deve saltare un livello di intestazione intermedio. H1 H2 H3 è ammissibile, mentre H1 H3 non lo è.
ISO-14289-1, 7.4.2
Per garantire un output corretto, gli utenti devono assicurarsi che il contenuto del documento di origine sia organizzato correttamente e che i livelli di struttura siano specificati correttamente per i paragrafi. In caso contrario, l’utente deve verificare e correggere la struttura del documento di output PDF.
In questo blocco, puoi vedere esempi: come impostare i livelli di contorno in Microsoft Word o controllare e correggere la struttura del documento di output PDF (espandi per vedere i dettagli).
In Microsoft Word gli stili predefiniti "Intestazione X" possono essere usati per impostare il livello del contorno:
Inoltre, il livello di struttura può essere controllato o modificato nella finestra "Paragrafo":
In Acrobat è possibile controllare o modificare la struttura del documento nel riquadro "Tag":
Contrassegnare il contenuto come un artefatto
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Al momento, Aspose.Words contrassegna intestazioni e piè di pagina, separatori di note, celle di intestazione di tabella ripetute e immagini decorative come artefatti. Si noti che questo elenco potrebbe essere aggiornato in futuro.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
Gli oggetti grafici in un documento possono essere suddivisi in due classi:
ISO-32000-1, 14.8.2.2.1
Se un documento contiene qualsiasi altro contenuto che dovrebbe essere contrassegnato come artefatto o se uno qualsiasi dei contenuti artificiali è un contenuto reale, i clienti dovrebbero correggerlo nell’output PDF.
In questo blocco, puoi vedere esempi: come contrassegnare le forme come decorative in Microsoft Word o contrassegnare la forma come artefatto nel documento output PDF (espandi per vedere i dettagli).
Ad esempio, le forme potrebbero essere contrassegnate come decorative in Microsoft Word, quindi verranno esportate in PDF come artefatto:
È possibile contrassegnare la forma come artefatto nell'output PDF:
Inoltre, è possibile passare il testo in un'intestazione dall'artefatto al contenuto reale nell'output PDF:
Specifica del linguaggio naturale
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
La lingua del testo è specificata nei documenti Microsoft Word. Aspose.Words esporta la lingua specificata in un output PDF con l’attributo Lang associato a una sequenza di contenuto contrassegnato o a un tag Span-è controllato dalla proprietà ExportLanguageToSpanTag. Generalmente non ci sono problemi di lingua quando il testo viene inserito dall’utente tramite Microsoft Word. Ma c’è la possibilità che la lingua possa essere imprecisa se il testo viene generato automaticamente.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
Il linguaggio naturale predefinito per tutto il testo in un file deve essere specificato dalla voce Lang nel dizionario Catalogo del documento.
Tutto il contenuto testuale all'interno di un file che differisce dalla lingua predefinita deve essere indicato mediante l'uso di una proprietà `Lang` associata a una sequenza di contenuti marcati o da una voce Lang in un dizionario di elementi di struttura ...
ISO-19005-2, 6.7.4
Inoltre per PDF/UA-1, la specifica ci dice quanto segue (espandi per vedere i dettagli):
Il linguaggio naturale deve essere dichiarato Changes I cambiamenti nel linguaggio naturale devono essere dichiarati.
ISO-14289-1, 7.2
In questo blocco, puoi vedere esempi: come garantire che la lingua sia specificata correttamente (espandi per vedere i dettagli).
Gli utenti devono assicurarsi che la lingua sia specificata correttamente nel documento Word di origine:
O il documento di output PDF:
Didascalia figura
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Microsoft Word i documenti consentono agli utenti di aggiungere didascalie.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
Una didascalia che accompagna una figura è contrassegnata con un tag Didascalia.
ISO-14289-1, 7.3
Attualmente Aspose.Words non può esportare le didascalie con il tag Didascalia, quindi devono essere contrassegnate nell’output PDF.
In questo blocco, puoi vedere esempi: come inserire la didascalia (espandi per vedere i dettagli).
In Microsoft Word, la didascalia può essere inserita attraverso il menu contestuale:
In Acrobat la didascalia può essere aggiunta o modificata tramite la finestra di dialogo Proprietà `Object`:
Descrizioni alternative
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Microsoft Word i documenti consentono agli utenti di aggiungere testo alternativo a immagini, forme e tabelle. Aspose.Words esporta tale testo alternativo nell’output PDF.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
Tutti gli elementi di struttura il cui contenuto non ha un analogo testuale naturale predeterminato, ad esempio immagini, formule, ecc., dovrebbe fornire una descrizione di testo alternativa usando la voce Alt nel dizionario dell'elemento struttura...
NOTA Le descrizioni alternative forniscono descrizioni testuali che aiutano nella corretta interpretazione di contenuti non testuali altrimenti opachi.
ISO-19005-2, 6.7.5
In questo blocco, puoi vedere esempi: come garantire che tutti gli elementi abbiano un testo alternativo (espandi per vedere i dettagli).
Gli utenti devono assicurarsi che tutti gli elementi abbiano un testo alternativo nel documento Word di origine:
O il documento di output PDF:
Descrizioni alternative per i collegamenti ipertestuali
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Oltre al punto precedente, i documenti Microsoft Word consentono anche agli utenti di aggiungere testo alternativo ai collegamenti ipertestuali. Aspose.Words esporta tale testo alternativo nell’output PDF.
Sfortunatamente, non tutte le applicazioni consentono di impostare una descrizione alternativa. Ad esempio, Adobe Acrobat attualmente non consente di impostare tale descrizione per i collegamenti ipertestuali. Ma in Microsoft Word, puoi farlo come segue:
A volte c’è un problema che non è possibile impostare il testo alternativo per i collegamenti ipertestuali generati automaticamente nel sommario (sommario) tramite la GUI Microsoft Word. Aspose.Words potrebbe aggiornare tali campi e generare i collegamenti da solo.
Seguire l’esempio di codice per aggiornare i campi TOC
utilizzando il modello a oggetti Document (DOM) Aspose.Words:
auto doc = MakeObject<Document>(filename);
auto tocHyperLinks = doc->get_Range()->get_Fields()->
LINQ_Where([](SharedPtr<Field> f) {return f->get_Type() == FieldType::FieldHyperlink; })->
LINQ_Where([](SharedPtr<FieldHyperlink> f) { return f->get_DisplayResult().StartsWith(u"#_Toc"); });
for (const auto& link : tocHyperLinks)
link->set_ScreenTip(link->get_DisplayResult());
auto opt = MakeObject<PdfSaveOptions>();
opt->set_Compliance(PdfCompliance::PdfUa1);
opt->set_DisplayDocTitle(true);
opt->set_ExportDocumentStructure(true);
opt->get_OutlineOptions()->set_HeadingsOutlineLevels(3);
opt->get_OutlineOptions()->set_CreateMissingOutlineLevels(true);
auto outFile = filename.substr(0, filename.find_last_of('.')) + "_aw.pdf";
doc->Save(outFile, opt);
Intestazioni tabella
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Le tabelle nei documenti PDF/UA-1 devono avere intestazioni: colonna, riga o entrambe. PDF/A richiede solo markup di tabella standard, che non ha restrizioni aggiuntive. Si noti che Aspose.Words genera automaticamente il markup della tabella standard.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
Le tabelle devono includere intestazioni can Le tabelle possono contenere intestazioni di colonna, intestazioni di riga o entrambe.
ISO-14289-1, 7.5
In questo blocco, puoi vedere esempi: come impostare l'intestazione della tabella (espandi per vedere i dettagli).
L'intestazione della tabella può essere impostata sul documento di origine Microsoft Word:
O l'output PDF:
Testo sostitutivo
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
La specifica ci dice quanto segue (espandere per vedere i dettagli):
La specifica ci dice quanto segue:
Tutti gli elementi di struttura testuale rappresentati in modo non standard, ad esempio caratteri personalizzati o grafica in linea, devono fornire testo sostitutivo utilizzando la voce `ActualText` nel dizionario degli elementi di struttura...
ISO-19005-2, 6.7.7
Il documento Microsoft Word non consente agli utenti di impostare il testo sostitutivo. Quindi questo deve essere verificato e risolto nell’output PDF:
Abbreviazioni e acronimi Espansioni
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
La specifica ci dice quanto segue (espandere per vedere i dettagli):
Tutte le istanze di abbreviazioni e acronimi nel contenuto testuale devono essere collocate in una sequenza di contenuti marcati con un tag Span la cui proprietà E fornisce un'espansione testuale dell'abbreviazione o dell'acronimo...
ISO-19005-2, 6.7.8
Il documento Microsoft Word non consente agli utenti di impostare estensioni di abbreviazioni e acronimi. Quindi questo deve essere verificato e risolto nell’output PDF:
Titolo del documento
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/A-4 | |
PDF/UA-1 |
Il documento in PDF/UA-1 dovrebbe avere un titolo. |
La specifica ci dice quanto segue (espandere per vedere i dettagli):
La specifica ci dice quanto segue:
Il flusso di metadati nel dizionario del catalogo del documento deve contenere una voce dc: title, dove dc è il prefisso consigliato per lo schema di metadati Dublin Core…
ISO-14289-1, 7.1
In questo blocco, puoi vedere esempi: come impostare il titolo del documento (espandi per vedere i dettagli).
Il titolo del documento può essere impostato sul documento di origine Microsoft Word:
O l'output PDF:
Requisiti del carattere
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
Ci sono anche una serie di sfumature di lavorare con i font durante la conversione in PDF/A-1, PDF/A-2, PDF/A-4 o PDF/UA-1 formati utilizzando Aspose.Words. Devono essere presi in considerazione se si desidera evitare possibili problemi con il documento di output.
Le sezioni seguenti descrivono tali sfumature e opzioni per la loro soluzione.
Carattere Requisiti legali
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
Aspose.Words non verifica le restrizioni legali dei font utilizzati – spetta agli utenti. In altre parole, un utente non dovrebbe fornire font inappropriati per la conversione di PDF utilizzando Aspose.Words.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
Devono essere utilizzati solo programmi di font che sono legalmente incorporabili in un file per un rendering illimitato e universale.
ISO-19005-2, 6.2.11.4.1; ISO-14289-1, 7.21.4.1 (esattamente le stesse citazioni in due specifiche)
.notdef Glyph
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
L’uso del glifo .notdef
è vietato. Il glifo .notdef
apparirà se un documento contiene caratteri che non sono presenti nel font selezionato e che non possono essere risolti tramite il meccanismo di Fallback del font.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
Un documento conforme non deve contenere alcun riferimento al .notdef glifo da qualsiasi testo che mostra gli operatori, indipendentemente dalla modalità di rendering del testo, in qualsiasi flusso di contenuto.
ISO-19005-2, 6.2.11.8; ISO-14289-1, 7.21.8 (esattamente le stesse citazioni in due specifiche)
In questo blocco, puoi vedere esempi: come rimuovere o sostituire questi caratteri (espandi per vedere i dettagli).
Gli utenti devono rimuovere o sostituire questi caratteri nel documento Word di origine:
O il documento di output PDF utilizzando lo strumento" Modifica PDF":
Area ad uso privato (PUA)
PDF livelli di conformità standard entro Aspose.Words | Presenza di requisiti |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
I caratteri PUA (Private Use Area) appaiono principalmente per i caratteri simbolici Windows come “Symbol”, “Wingdings”, “Webdings” e altri. I formati Microsoft Word non forniscono un’opzione per memorizzare il testo effettivo per i caratteri.
La specifica ci dice quanto segue (espandere per vedere i dettagli):
Solo per la conformità di livello A, per qualsiasi personaggio ... è mappato a uno o più codici nell'area di utilizzo privato Unicode (PUA), una voce ActualText... deve essere presente per questo carattere o per una sequenza di caratteri di cui tale carattere fa parte.
ISO-19005-2, 6.2.11.7.3
“Segoe UI Symbol” è un carattere Unicode Windows che potrebbe essere usato come alternativa ai font simbolici.
In questo blocco, puoi vedere esempi: cosa dovrebbe fare l'utente per risolvere il problema con i font simbolici (espandi per vedere i dettagli).
Sostituire il carattere simbolico con uno Unicode nel documento Word di origine:
Oppure aggiungi una voce ActualText ai caratteri problematici nel documento output PDF: