2010-03-09 41 views
16

Veo muchas preguntas y respuestas sobre el uso de C# para generar archivos PDF.
Tengo una tarea relacionada, pero diferente.Lectura programática de archivos PDF en C#

Tengo una gran cantidad de archivos PDF ya creados, y me gustaría validar ciertas partes del contenido con expresiones regulares (RegExs). Quiero abrir los archivos PDF en C# y poder leer el texto en algo que se aproxima de forma lineal.

Si los encabezados, pies de página, cualquier barra lateral, etc., se omiten o se leen fuera de orden, no importa. Solo busco la mayor parte del texto del cuerpo principal que puedo recuperar.

¿Puede indicarme herramientas, bibliotecas, API, etc., que me permitan leer textos en archivos PDF mediante programación?

+0

Gracias por todas las respuestas maravillosas. Voy a intentar estos paquetes pronto, y espero aceptar la "mejor respuesta" poco después de eso. – abelenky

+5

Etiquetado como No Constructivo, pero seguro que me ayudó a entender lo que está disponible. Si no es una buena opción para el formato de preguntas y respuestas, ¿dónde debería publicarse este tipo de pregunta? – codeputer

+0

Recomiendo que esto se migre a las Recomendaciones de software. Este es exactamente el caso para ese sitio. Esta es una pregunta maravillosa que es y ha sido muy útil para mucha gente, pero no encaja del todo con el formato de SO. – demongolem

Respuesta

8

He usado PDFSharp a más tardar el pasado automn y me pareció muy fácil de usar en comparación con otros. Página de inicio para PDFSharp.

2

hay una biblioteca de .NET llama PDF Clown

También hay un buen artículo sobre al CodeProject article que detalla algunas otras bibliotecas y enfoques para la lectura de documentos PDF .

3

he utilizado con éxito dos bibliotecas diferentes para este propósito. Uno es PDF Box (parte del proyecto Apache), y también uno de Snowtide Informatics.

Ambas son bibliotecas de Java, pero puede utilizarlas con .NET en combinación con IKVM.

+0

inteligente, pero demente :-) –

+0

PDFxStream (antes PDFTextStream) también se distribuye como un ensamblado .NET (cortesía de IKVM como menciona Nick, aunque la distribución está precompilada en .DLL, evitando la interpretación en tiempo de ejecución-> paso de compilación cuando IKVM está utilizado para consumir bibliotecas Java tal cual). – cemerick