Как анализировать потоки PDF в .Net - PullRequest
1 голос
/ 19 июля 2010

У меня есть бесплатный код C # для анализа PDF-файлов, которые я скачал.

Я написал код с использованием этих классов для извлечения информации о полях формы и создания нового PDF-файла с заполненными полями формы.

Теперь я обнаружил, что он не работает с новыми PDF, потому что в новых PDF есть потоки, в которых старые форматы имели простой текст. У меня нет времени на изучение документации в формате PDF и написание собственного анализатора потоков PDF, поэтому я хотел бы знать, знает ли кто-нибудь о библиотеке или классах, которые можно использовать из C # / .Net.

Прежде чем сказать «Используйте iTextSharp», проблема с iTextSharp заключается в лицензии. Мне нужен код, который можно использовать в коммерческом программном обеспечении. Если вы не уверены в лицензии, дайте мне знать.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

Вы можете попробовать Docotic PDF Library .Эта библиотека позволяет легко заполнять поля формы.

Вот пример для вашей задачи:

using System.Collections.ObjectModel;

using BitMiracle.Docotic.Pdf;

namespace BitMiracle.Docotic.Samples
{
    public static class FillForm
    {
        public static void Main()
        {
            using (PdfDocument document = new PdfDocument("Some Document.pdf"))
            {
                ReadOnlyCollection<PdfWidget> widgets = document.Pages[0].Widgets;

                PdfTextBox textBox = (PdfTextBox)widgets[0];
                textBox.Text = "Some Name";

                PdfCheckBox checkBox = (PdfCheckBox)widgets[1];
                checkBox.Checked = true;

                PdfRadioButton firstRadioButton = (PdfRadioButton)widgets[2];
                firstRadioButton.Checked = false;

                PdfRadioButton secondRadioButton = (PdfRadioButton)widgets[3];
                secondRadioButton.Checked = true;

                document.Save("FillForm.pdf");
            }
        }
    }
}
1 голос
/ 19 июля 2010

PDF-комплект Aspose, кажется, делает эту работу. Хммм ... так что я отвечаю на свой вопрос ... о, хорошо, если кто-нибудь еще знает, я все еще хочу услышать о них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...