У меня есть проект, связанный с чтением pdf-файлов, и он оказался сложнее, чем я ожидал. Есть ли библиотека, которую я могу использовать для преобразования pdf в docx, чтобы я мог использовать OpenXml SDK для его анализа?
AbleWord (для Windows ):
AbleWord — это очень мощное приложение для обработки текстов, которое может читать и записывать документы в большинстве популярных форматов, включая PDF. Он полнофункциональный, поддерживает форматирование изображений, таблицы, верхние и нижние колонтитулы, а также включает функции проверки орфографии и предварительного просмотра перед печатью. Лучше всего это абсолютно бесплатно даже для коммерческого использования.
Инструкции по конвертации PDF в Word (включая docx ) можно найти здесь .
Похоже, вы можете выполнить свое требование, проанализировав содержимое PDF с помощью С#. Если это так и вам нужен в основном текст, в следующей статье обсуждаются некоторые бесплатные (и не очень) варианты получения текста из PDF: https://www.codeproject.com/Articles/12445/Converting-PDF-to -Текст-в-C
Если вам нужен не просто текст, а другое содержимое PDF, такое как текст, изображения и аннотации, возможно, вам придется использовать профессиональный SDK, такой как LEADTOOLS. (Отказ от ответственности: я сотрудник поставщика этой библиотеки). Код для извлечения текста таков:
StringBuilder sb;
sb = new StringBuilder();
PDFDocument document = new PDFDocument("filename.pdf");
PDFParsePagesOptions options = PDFParsePagesOptions.Objects;
document.ParsePages(options, 1, -1);
foreach (PDFDocumentPage page in document.Pages)
{
Console.WriteLine("Page #" + page.PageNumber.ToString() + " Started");
foreach (PDFObject obj in page.Objects)
{
if (obj.ObjectType == PDFObjectType.Text)
{
if (obj.TextProperties.IsEndOfLine)
sb.AppendLine(obj.Code.ToString());
else
sb.Append(obj.Code);
}
}
Console.WriteLine("Page #" + page.PageNumber.ToString() + " finished");
}
this.Text = "Finished";
textBox1.Text = sb.ToString();
Аналогичный код (но с другими флагами) можно использовать для получения изображений и других типов объектов.
Если вы не хотите анализировать PDF-файл, а только конвертируете его в DOCX, в LEADTOOLS также есть класс DocumentConverter , который может это сделать.
У инструментария есть бесплатная ознакомительная версия , которую вы можете попробовать, прежде чем решить, покупать ее или нет.
иваниван
exec()
что-то еще?emsimpson92