Trabajando con PDF/A o PDF/UA
Los formatos PDF/A y PDF/UA imponen varios requisitos relacionados con el contenido del documento que no se pueden cumplir durante la conversión automática de un documento en formato Word a PDF. Estos requisitos deben verificarse y corregirse en un documento de Word antes de la conversión o en un documento PDF después de la conversión para producir un documento totalmente compatible con PDF/A y PDF/UA.
Los requisitos básicos son para la estructura o las fuentes de un documento PDF/A y PDF/UA, que consideraremos en las siguientes secciones.
Requisitos de Estructura de Documentos
Los requisitos actuales son para PDF/A-1a, PDF/A-2a, PDF/A-4, y PDF/UA-1 formatos.
Hay algunos matices de cómo funciona Aspose.Words al convertir a varios estándares de formato PDF. Deben tenerse en cuenta si desea obtener el resultado esperado.
La especificación nos dice lo siguiente (expanda para ver los detalles):
No es aconsejable que los escritores generen información estructural o semántica utilizando procesos automatizados sin la verificación adecuada.
ISO 19005-2, 6.7.1
Las subsecciones a continuación describen los matices de cómo funciona Aspose.Words al convertir a varios estándares de formato PDF y las opciones para su solución.
Tipo de Estructura
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Un documento PDF es una secuencia de bloques como encabezados, párrafos, tablas y otros. Estos bloques forman una estructura de documento, fuerte o débil.
Tanto las estructuras fuertes como las débiles son válidas para PDF/A. Los documentos de Microsoft Word tienen una estructura débil por diseño, y Aspose.Words crea PDF con la estructura débil respectivamente y también genera encabezados de acuerdo con los niveles de esquema de los párrafos en el documento de origen.
Para un documento PDF/UA-1 con una estructura débil, también se requiere que los números de encabezado vayan en orden sin espacios.
La especificación nos dice lo siguiente (expanda para ver los detalles):
La estructura a nivel de bloque puede seguir uno de dos paradigmas principales:
ISO-32000-1, 14.8.4.3.5
Para los documentos PDF/UA-1, la especificación contiene una adición relacionada con los niveles de encabezado (expanda para ver los detalles):
Si la semántica del documento requiere una secuencia descendente de encabezados, dicha secuencia procederá en estricto orden numérico y no omitirá un nivel de encabezado intermedio. H1 H2 H3 está permitido, mientras que H1 H3 no.
ISO-14289-1, 7.4.2
Para garantizar un resultado correcto, los usuarios deben asegurarse de que el contenido del documento de origen esté organizado correctamente y que los niveles de esquema estén especificados correctamente para los párrafos. De lo contrario, el usuario debe verificar y corregir la estructura del documento PDF de salida.
En este bloque, puede ver ejemplos: cómo establecer niveles de esquema en Microsoft Word o verificar y corregir la estructura del documento de salida PDF (expanda para ver los detalles).
En Microsoft Word, los estilos predeterminados de "Encabezado X" se pueden usar para establecer el nivel de esquema:
Además, el nivel del contorno se puede verificar o cambiar en la ventana "Párrafo".:
En Acrobat, la estructura del documento se puede verificar o cambiar en el panel "Etiquetas".:
Marcar el Contenido como un Artefacto
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Por el momento, Aspose.Words marca encabezados y pies de página, separadores de notas, celdas de encabezado de tabla repetidas e imágenes decorativas como artefactos. Tenga en cuenta que esta lista puede actualizarse en el futuro.
La especificación nos dice lo siguiente (expanda para ver los detalles):
Los objetos gráficos de un documento se pueden dividir en dos clases:
ISO-32000-1, 14.8.2.2.1
Si un documento contiene cualquier otro contenido que deba marcarse como artefacto, o si alguno de los artefactos es un contenido real, los clientes deben corregirlo en el resultado PDF.
En este bloque, puede ver ejemplos: cómo marcar formas como decorativas en Microsoft Word o marcar formas como artefactos en el documento de salida PDF (expanda para ver los detalles).
Por ejemplo, las formas podrían marcarse como decorativas en Microsoft Word, por lo que se exportarán a PDF como un artefacto:
Puede marcar la forma como un artefacto en la salida PDF:
Además, puede cambiar el texto en un encabezado del artefacto al contenido real en la salida PDF:
Especificación del Lenguaje Natural
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
El idioma del texto se especifica en los documentos de Microsoft Word. Aspose.Words exporta el idioma especificado a una salida PDF con el atributo Lang adjunto a una secuencia de contenido marcado o una etiqueta Span; está controlado por la propiedad ExportLanguageToSpanTag. En general, no hay problemas de idioma cuando el usuario ingresa texto a través de Microsoft Word. Pero existe la posibilidad de que el idioma sea inexacto si el texto se genera automáticamente.
La especificación nos dice lo siguiente (expanda para ver los detalles):
El lenguaje natural predeterminado para todo el texto de un archivo debe especificarse mediante la entrada Lang en el diccionario del catálogo del documento.
Todo el contenido textual dentro de un archivo que difiera del idioma predeterminado debe indicarse mediante el uso de una propiedad `Lang` adjunta a una secuencia de contenido marcado, o mediante una entrada de idioma en un diccionario de elementos de estructura...
ISO-19005-2, 6.7.4
Además, para PDF/UA-1, la especificación nos dice lo siguiente (expanda para ver los detalles):
Se declarará el lenguaje natural Changes Se declararán los cambios en el lenguaje natural.
ISO-14289-1, 7.2
En este bloque, puede ver ejemplos: cómo asegurarse de que el idioma se especifique correctamente (expanda para ver los detalles).
Los usuarios deben asegurarse de que el idioma se especifique correctamente en el documento de Word de origen:
O el documento de salida PDF:
Leyenda de la Figura
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Los documentos de Microsoft Word permiten a los usuarios agregar subtítulos de figuras.
La especificación nos dice lo siguiente (expanda para ver los detalles):
Un título que acompañe a una figura deberá estar etiquetado con una etiqueta de título.
ISO-14289-1, 7.3
Actualmente Aspose.Words no puede exportar subtítulos con la etiqueta Caption, por lo que deben marcarse en la salida PDF.
En este bloque, puede ver ejemplos: cómo insertar el título (expanda para ver los detalles).
En Microsoft Word, el título se puede insertar a través del menú contextual:
En Acrobat, el título se puede agregar o cambiar a través del cuadro de diálogo `Object` Properties:
Descripciones Alternativas
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Los documentos de Microsoft Word permiten a los usuarios agregar texto alternativo a imágenes, formas y tablas. Aspose.Words exporta dicho texto alternativo a la salida PDF.
La especificación nos dice lo siguiente (expanda para ver los detalles):
Todos los elementos de estructura cuyo contenido no tiene un análogo textual predeterminado natural, por ejemplo, imágenes, fórmulas, etc., debe proporcionar una descripción de texto alternativa utilizando la entrada Alt en el diccionario de elementos de estructura...
NOTA Las descripciones alternativas proporcionan descripciones textuales que ayudan a la interpretación adecuada del contenido no textual que de otro modo sería opaco.
ISO-19005-2, 6.7.5
En este bloque, puede ver ejemplos: cómo asegurarse de que todos los elementos tengan un texto alternativo (expanda para ver los detalles).
Los usuarios deben asegurarse de que todos los elementos tengan un texto alternativo en el documento de Word de origen:
O el documento de salida PDF:
Descripciones alternativas para Hipervínculos
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Además del punto anterior, los documentos de Microsoft Word también permiten a los usuarios agregar texto alternativo a los hipervínculos. Aspose.Words exporta dicho texto alternativo a la salida PDF.
Desafortunadamente, no todas las aplicaciones le permiten configurar una descripción alternativa. Por ejemplo, Adobe Acrobat actualmente no permite configurar dicha descripción para hipervínculos. Pero en Microsoft Word, puede hacer esto de la siguiente manera:
A veces existe el problema de que no es posible establecer texto alternativo para hipervínculos generados automáticamente en la tabla de contenido (TOC) a través de la GUI de Microsoft Word. Aspose.Words podría actualizar dichos campos y generar los enlaces por sí mismo.
Siga el ejemplo de código para actualizar los campos TOC
utilizando el Modelo de Objetos de Documento (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);
Encabezados de Tabla
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Las tablas de los documentos PDF/UA-1 deben tener encabezados: columna, fila o ambos. PDF/A solo requiere marcado de tabla estándar, que no tiene restricciones adicionales. Tenga en cuenta que Aspose.Words genera el marcado estándar de la tabla automáticamente.
La especificación nos dice lo siguiente (expanda para ver los detalles):
Las tablas deben incluir encabezados: las tablas pueden contener encabezados de columna, encabezados de fila o ambos.
ISO-14289-1, 7.5
En este bloque, puede ver ejemplos: cómo configurar el encabezado de la tabla (expanda para ver los detalles).
El encabezado de la tabla se puede configurar en el documento fuente de Microsoft Word:
O la salida PDF:
Texto de Reemplazo
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
La especificación nos dice lo siguiente (expanda para ver los detalles):
La especificación nos dice lo siguiente:
Todos los elementos de estructura textual que se representan de una manera no estándar, por ejemplo, caracteres personalizados o gráficos en línea, deben proporcionar texto de reemplazo utilizando la entrada `ActualText` en el diccionario de elementos de estructura...
ISO-19005-2, 6.7.7
El documento de Microsoft Word no permite a los usuarios establecer texto de reemplazo. Entonces, esto debe verificarse y corregirse en la salida PDF:
Abreviaturas y Acrónimos Expansiones
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
La especificación nos dice lo siguiente (expanda para ver los detalles):
Todas las instancias de abreviaturas y acrónimos en el contenido textual deben colocarse en una secuencia de contenido marcado con una etiqueta Span cuya propiedad E proporcione una expansión textual de la abreviatura o acrónimo...
ISO-19005-2, 6.7.8
El documento de Microsoft Word no permite a los usuarios establecer abreviaturas y acrónimos expansiones. Entonces, esto debe verificarse y corregirse en la salida PDF:
Título del Documento
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/A-4 | |
PDF/UA-1 |
El documento en PDF/UA-1 debe tener un título. |
La especificación nos dice lo siguiente (expanda para ver los detalles):
La especificación nos dice lo siguiente:
La secuencia de metadatos en el diccionario del catálogo del documento contendrá una entrada dc:title, donde dc es el prefijo recomendado para el esquema de metadatos Dublin Core…
ISO-14289-1, 7.1
En este bloque, puede ver ejemplos: cómo configurar el título del documento (expanda para ver los detalles).
El título del documento se puede configurar en el documento de Microsoft Word de origen:
O la salida PDF:
Requisitos de Fuente
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
También hay una serie de matices al trabajar con fuentes al convertir a PDF/A-1, PDF/A-2, PDF/A-4 o PDF/UA-1 formatos usando Aspose.Words. Deben tenerse en cuenta si se quieren evitar posibles problemas con el documento de salida.
Las secciones a continuación describen dichos matices y opciones para su solución.
Requisitos Legales de la Fuente
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
Aspose.Words no verifica las restricciones legales de las fuentes utilizadas – depende de los usuarios. En otras palabras, un usuario no debe proporcionar fuentes inapropiadas para la conversión PDF usando Aspose.Words.
La especificación nos dice lo siguiente (expanda para ver los detalles):
Solo se utilizarán programas de fuentes que se puedan incrustar legalmente en un archivo para una representación ilimitada y universal.
ISO-19005-2, 6.2.11.4.1; ISO-14289-1, 7.21.4.1 (exactamente las mismas comillas en dos especificaciones)
.notdef Glyph
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
El uso del glifo .notdef
está prohibido. El glifo .notdef
aparecerá si un documento contiene caracteres que no están presentes en la fuente seleccionada y que tampoco se pueden resolver mediante el mecanismo de respaldo de fuentes.
La especificación nos dice lo siguiente (expanda para ver los detalles):
Un documento conforme no contendrá una referencia a la .glifo notdef de cualquiera de los operadores que muestran texto, independientemente del modo de representación de texto, en cualquier flujo de contenido.
ISO-19005-2, 6.2.11.8; ISO-14289-1, 7.21.8 (exactamente las mismas citas en dos especificaciones)
En este bloque, puede ver ejemplos: cómo eliminar o reemplazar estos caracteres (expanda para ver los detalles).
Los usuarios deben eliminar o reemplazar estos caracteres en el documento de Word de origen:
O el documento de salida PDF usando la herramienta" Editar PDF":
Área de Uso Privado (PUA)
PDF niveles de cumplimiento estándar dentro de Aspose.Words | Presencia de requisito |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
Los caracteres del Área de Uso Privado (PUA) aparecen principalmente para Windows fuentes simbólicas como “Símbolo”, “Alas”, “Webdings” y otras. Los formatos de Microsoft Word no ofrecen una opción para almacenar texto real para los caracteres.
La especificación nos dice lo siguiente (expanda para ver los detalles):
Solo para conformidad de nivel A, para cualquier carácter ... que se asigna a un código o códigos en el Área de uso privado Unicode (PUA), una entrada ActualText... deberá estar presente para este carácter o una secuencia de caracteres de la que dicho carácter forme parte.
ISO-19005-2, 6.2.11.7.3
“Segoe UI Symbol” es una fuente Unicode Windows que podría usarse como alternativa a las fuentes simbólicas.
En este bloque, puede ver ejemplos: qué debe hacer el usuario para resolver el problema con las fuentes simbólicas (expanda para ver los detalles).
Reemplace la fuente simbólica con una Unicode en el documento de Word de origen:
O agregue una entrada ActualText a los caracteres problemáticos en el documento PDF de salida: