Cómo desinfectar PDF

por Chaknith Bin

La desinfección de archivos PDF es un proceso crucial con muchas ventajas. En primer lugar, mejora la seguridad de los documentos al eliminar elementos potencialmente dañinos, como scripts o metadatos incrustados, reduciendo así el riesgo de explotación por entidades maliciosas. Además, mejora la compatibilidad entre distintas plataformas al eliminar elementos complejos o propietarios, lo que mejora la accesibilidad. Al mitigar los riesgos de fuga de datos y garantizar la integridad de los documentos, la desinfección de PDF contribuye significativamente a la seguridad general y a la fiabilidad de las prácticas de gestión de documentos.


Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Ejemplo de PDF desinfectado

El truco para desinfectar un PDF consiste en convertir el documento PDF en un tipo de imagen que elimine el código JavaScript, los objetos incrustados y los botones, y luego volver a convertirlo en un documento PDF. Ofrecemos tipos de imagen Bitmap y SVG. Las principales diferencias entre SVG y Bitmap son:

  • Más rápido que sanear con un mapa de bits
  • Resultados en un PDF con función de búsqueda
  • El diseño puede ser incoherente
:path=/static-assets/pdf/content-code-examples/how-to/sanitize-pdf-sanitize-pdf.cs
using IronPdf;

//  Importar documento PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

//  Sanear con mapa de bits
PdfDocument sanitizeWithBitmap = Cleaner.SanitizeWithBitmap(pdf);

//  Sanear con SVG
PdfDocument sanitizeWithSvg = Cleaner.SanitizeWithSvg(pdf);

//  Exportar PDF
sanitizeWithBitmap.SaveAs("sanitizeWithBitmap.pdf");
sanitizeWithSvg.SaveAs("sanitizeWithSvg.pdf");
Imports IronPdf

'  Importar documento PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

'  Sanear con mapa de bits
Private sanitizeWithBitmap As PdfDocument = Cleaner.SanitizeWithBitmap(pdf)

'  Sanear con SVG
Private sanitizeWithSvg As PdfDocument = Cleaner.SanitizeWithSvg(pdf)

'  Exportar PDF
sanitizeWithBitmap.SaveAs("sanitizeWithBitmap.pdf")
sanitizeWithSvg.SaveAs("sanitizeWithSvg.pdf")
VB   C#

Escanear PDF Ejemplo

Utilice el método ScanPdf de la clase Cleaner para comprobar si el PDF tiene alguna vulnerabilidad potencial. Este método comprobará con el fichero YARA por defecto. Sin embargo, no dude en cargar un archivo YARA personalizado que cumpla sus requisitos en el segundo parámetro del método.

Un archivo YARA para documentos PDF contiene reglas o patrones utilizados para identificar características asociadas a archivos PDF maliciosos. Estas reglas ayudan a los analistas de seguridad a automatizar la detección de amenazas potenciales y a tomar las medidas adecuadas para mitigar los riesgos.

:path=/static-assets/pdf/content-code-examples/how-to/sanitize-pdf-scan-pdf.cs
using IronPdf;
using System;

//  Importar documento PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

//  Escanear PDF
CleanerScanResult result = Cleaner.ScanPdf(pdf);

//  Salida del resultado
Console.WriteLine(result.IsDetected);
Console.WriteLine(result.Risks.Count);
Imports IronPdf
Imports System

'  Importar documento PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

'  Escanear PDF
Private result As CleanerScanResult = Cleaner.ScanPdf(pdf)

'  Salida del resultado
Console.WriteLine(result.IsDetected)
Console.WriteLine(result.Risks.Count)
VB   C#

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.