Convertir formatos PDF a PDF/A
Aspose.PDF para .NET te permite convertir un archivo PDF en un archivo PDF conforme a PDF/A. Antes de hacerlo, el archivo debe ser validado. Este tema explica cómo hacerlo.
Convierte el archivo utilizando el método Convert de la clase Document.
Intenta convertir PDF a PDF/A en línea
Aspose.PDF para .NET te presenta la aplicación gratuita en línea “PDF a PDF/A-1A”, donde puedes explorar la funcionalidad y la calidad con la que trabaja.
El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.
Convertir archivo PDF a PDF/A-1b
El siguiente fragmento de código muestra cómo convertir archivos PDF a PDF compatibles con PDF/A-1b.
// Para ejemplos completos y archivos de datos, por favor visita https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Abrir documento
Document pdfDocument = new Document(dataDir + "PDFToPDFA.pdf");
// Convertir a documento compatible con PDF/A
// Durante el proceso de conversión, también se realiza la validación
pdfDocument.Convert(dataDir + "log.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
dataDir = dataDir + "PDFToPDFA_out.pdf";
// Guardar el documento de salida
pdfDocument.Save(dataDir);
Para realizar solo la validación, utiliza la siguiente línea de código:
// Para ejemplos completos y archivos de datos, por favor visita https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
// Abrir documento
Document pdfDocument = new Document(dataDir + "ValidatePDFAStandard.pdf");
// Validar PDF para PDF/A-1a
pdfDocument.Validate(dataDir + "validation-result-A1A.xml", PdfFormat.PDF_A_1B);
Convertir archivo PDF a formato PDF/A-3b
Aspose.PDF para .NET también admite la función de convertir un archivo PDF al formato PDF/A-3b.
// Para ejemplos completos y archivos de datos, por favor visita https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Abrir documento
Document pdfDocument = new Document(dataDir + "input.pdf");
pdfDocument.Convert(new MemoryStream(), PdfFormat.PDF_A_3B, ConvertErrorAction.Delete);
dataDir = dataDir + "PDFToPDFA3b_out.pdf";
// Guardar el documento de salida
pdfDocument.Save(dataDir);
Convertir archivo PDF a formato PDF/A-2u
Aspose.PDF para .NET también soporta la funcionalidad de convertir un archivo PDF a formato PDF/A-2u.
string inFile = "input.pdf";
string outFile = "output.pdf";
Aspose.PDF.Document doc = new Aspose.PDF.Document(inFile);
doc.Convert(new MemoryStream(), PdfFormat.PDF_A_2U, ConvertErrorAction.Delete);
doc.Save(outFile);
Convertir archivo PDF a formato PDF/A-3u
Aspose.PDF para .NET también soporta la funcionalidad de convertir un archivo PDF a formato PDF/A-3u.
string inFile = "input.pdf";
string outFile = "output.pdf";
Aspose.PDF.Document doc = new Aspose.PDF.Document(inFile);
doc.Convert(new MemoryStream(), PdfFormat.PDF_A_3U, ConvertErrorAction.Delete);
doc.Save(outFile);
Añadir adjunto a archivo PDF/A
En caso de que necesite adjuntar archivos a un formato de cumplimiento PDF/A, entonces recomendamos usar el valor PDF_A_3A de la enumeración Aspose.PDF.PdfFormat. PDF/A_3a es el formato que proporciona la funcionalidad de adjuntar cualquier formato de archivo como un adjunto a un archivo compatible con PDF/A.
## Reemplace las fuentes faltantes con fuentes alternativas
Según los estándares PDFA, las fuentes deben estar incrustadas en el documento PDFA.
```csharp
// Para ejemplos completos y archivos de datos, por favor vaya a https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Instanciar la instancia del Documento para cargar el archivo existente
Aspose.Pdf.Document doc = new Document(dataDir + "input.pdf");
// Configurar nuevo archivo para ser añadido como adjunto
FileSpecification fileSpecification = new FileSpecification(dataDir + "aspose-logo.jpg", "Archivo de imagen grande");
// Añadir adjunto a la colección de adjuntos del documento
doc.EmbeddedFiles.Add(fileSpecification);
// Realizar la conversión a PDF/A_3a para que el adjunto esté incluido en el archivo resultante
doc.Convert(dataDir + "log.txt", Aspose.Pdf.PdfFormat.PDF_A_3A, ConvertErrorAction.Delete);
// Guardar el archivo resultante
doc.Save(dataDir + "AddAttachmentToPDFA_out.pdf");
type: docs changefreq: “monthly” Según los estándares PDFA, las fuentes deben estar incrustadas en el documento PDFA.
// Para ejemplos completos y archivos de datos, por favor visite https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
Aspose.Pdf.Text.Font originalFont = null;
try
{
originalFont = FontRepository.FindFont("AgencyFB");
}
catch (Exception)
{
// La fuente falta en la máquina de destino
FontRepository.Substitutions.Add(new SimpleFontSubstitution("AgencyFB", "Arial"));
}
var fileNew = new FileInfo(dataDir + "newfile_out.pdf");
var pdf = new Document(dataDir + "input.pdf");
pdf.Convert(dataDir + "log.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
pdf.Save(fileNew.FullName);