Использование pdf.js с Qt5.8

Я пытаюсь сделать просмотрщик PDF в Qt5.8 .Я знаю это poppler это выбор для Qt но я хочу сделать это с помощью pdf.js .Я не знаю, как вставлять pdf.js с Qt5.8, Я видел hello world документация pdf.js но это не помогло. Пожалуйста, помогите мне.
Заранее спасибо .

0

Решение

Основная идея состоит в том, чтобы иметь некоторый виджет для отображения HTML, если вы хотите использовать pdf.js — кажется, что QWebEngineView (использует Chromium) может выполнить эту работу, так как для выполнения первой реализации требуется минимум кода.

Установив pdf.js на свой компьютер и минималистичный графический интерфейс (проект QT Widgets), подготовленный вместе с QT Creator, вы можете использовать следующий код для ознакомления с основами:

#include "mainwindow.h"#include <QApplication>
#include <QWebEngineView>

static QString pathToPDFjs = QString("file:///path-to/pdfjs-1.8.170-dist/web/viewer.html");

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow win;
QWebEngineView *view;
QString pdfFileURL;

//you could parse a widget to get the file name
pdfFileURL = QString("file:///path-to-your/file.pdf");

//init the view and attach it to the ui
view = new QWebEngineView();
win.setCentralWidget(view);
win.show();

//auto-load feature in pdf.js, pass file=filename as parameter
view->load(QUrl::fromUserInput(pathToPDFjs + QString("?file=") + pdfFileURL));
view->show();

return app.exec();
}

С этого момента вы можете добавить дополнительные функции в свой пользовательский интерфейс.
Вы даже можете добавить изменения в вашу установку pdf.js (при необходимости).

Если вам нужно вызвать JavaScript на вашем pdf.js, вы можете использовать страницу представления ( QWebEnginePage) который в свою очередь может runJavaScript,

Подтверждение концепции QtPDFjs

2

Другие решения

Не знаю, почему вы хотите использовать pdf.js, но вы можете посмотреть на Модуль QtLabs PDF. Это выглядит довольно недавно и хорошо интегрировано с текущим Qt. (и я думаю, что это более эффективно, чем код JavaScript)

Если вы хотите попробовать это, вот как начать:

git clone git://code.qt.io/qt-labs/qtpdf
cd qtpdf
git submodule update --init --recursive
qmake
make
cd examples/pdf/pdfviewer
qmake
make
./pdfviewer /path/to/my/file.pdf
2

По вопросам рекламы [email protected]