Предварительный просмотр PDF в C#

Я ищу компонент графического интерфейса пользователя.NET (отличающийся, чем PDFsharp) разрешение документа PDF предварительного просмотра 1 страницы.
В основном мне нужно что-то подобное PictureBox, где я могу загрузить битовые массивы и показать его.

Было бы замечательно, если тот компонент позволяет масштабировать и перемещать изображение внутри.
Бесплатно распространяемые решения предпочтены :)

8
задан Maciej 16 March 2010 в 13:38
поделиться

4 ответа

Другой вариант - использовать элемент управления WebBrowser в графическом интерфейсе пользователя. Он будет использовать браузер для рендеринга PDF-файла, но я бы сделал это, а не возился с компонентом Adobe Reader ActiveX.

Если вам не нужен какой-либо PDF-ридер, доступный на клиенте, вы также можете преобразовать его в графический файл с помощью GhostScript и отобразить как растровое изображение.

5
ответ дан 5 December 2019 в 17:36
поделиться

ImageGear для .NET

Не бесплатно. Возможно, имеет больше возможностей, чем то, о чем вы беспокоитесь. Надеюсь, это хоть как-то поможет.

1
ответ дан 5 December 2019 в 17:36
поделиться

вы можете использовать компонент activex, который поставляется с Acrobat Reader.

Как отображать PDF-файлы с помощью C #

2
ответ дан 5 December 2019 в 17:36
поделиться

Quick PDF Library , SDK моей компании для PDF, поможет вам визуализировать файлы PDF. Это не бесплатное программное обеспечение, но лицензия позволяет бесплатно распространять скомпилированные приложения, которые вы создаете с его помощью. Найти бесплатные компоненты / компоненты с открытым исходным кодом для рендеринга PDF-файлов немного сложнее, чем других основных задач по работе с PDF-файлами, поскольку рендеринг PDF-файлов может быть довольно сложным.

Вот пример исходного кода C #, который показывает, как визуализировать PDF-файл в графическом поле формы.

private void Form1_Load(object sender, EventArgs e)
{
    QuickPDFAX0718.PDFLibrary pdf = new QuickPDFAX0718.PDFLibrary();

    qp.UnlockKey("......Licence Key......");

    // Open PDF File
    int Handle = qp.DAOpenFile("C:\\sample.pdf", null);

    // Get Total Number of Pages in a PDF File
    int PageCount = qp.DAGetPageCount(Handle);

    int PageNo = 1;

    // It will get Reference of page 1 from PDF file
    int PageRefNo = qp.DAFindPage(Handle, PageNo);

    // You can change this parameter for Zoom In/Zoom Out purpose
    int Zoom = 76;
    double pageWidth = qp.DAGetPageWidth(Handle, PageRefNo) / Zoom;
    double pageHeight = qp.DAGetPageHeight(Handle, PageRefNo) / Zoom;

    // DPI use for rendering the page. Increase DPI will increate quality of image
    int dpi = 92;

    // Calculate Dimension of final output image
    Bitmap b = new Bitmap(Convert.ToInt32(pageWidth * dpi), Convert.ToInt32(pageHeight * dpi));

    // This will Draw render image on GDI
    using (Graphics g = Graphics.FromImage(b))
    {
    IntPtr dc = g.GetHdc();
    qp.DARenderPageToDC(Handle, PageRefNo, dpi, (int)dc);
    g.ReleaseHdc(dc);
    }

    // Assigne rendered image to PictureBox Control which will display PDF on Windows Form.
    pictureBox1.Image = b;
    pictureBox1.BorderStyle = BorderStyle.Fixed3D;
}

Библиотека не включает встроенных функций, которые помогут вам с масштабированием, но, поскольку вы визуализируете PDF как изображение BMP, вы можете довольно легко позаботиться о масштабировании.

0
ответ дан 5 December 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: