Qtのpdfビューアを共有します.
1209 ワード
QtのWebEngineとjavascriptのpdf.jsモジュールを使って構築されたPDFビューアです.
このqmakeに基づくプロジェクトは二つの構築目標を定義しています.qpdf共有ライブラリとpdfviewerはqpdfライブラリに基づく例示的なPDFビューアです.
どうやってコンパイルしますかは、Qt 5.9.9 xまたはより高いバージョンのみをサポートします. qpdf.proはQtCreatorでプロジェクトファイルを開く. は構築され、実行される. どう使いますか
qpdfliライブラリはPDFファイルを開く2つの方法を提供しています.
任意のサイズのPDFをロードすることができますが、ドメイン間のセキュリティ制限のため、デフォルトではこの方法はWebEngineのURLローディング方法を使用するので、ブロックされます.この方法を有効にするためには、disable-web-securityパラメータをQpplicationの例に渡すことにより、Webセキュリティを無効にしなければなりません.
このqmakeに基づくプロジェクトは二つの構築目標を定義しています.qpdf共有ライブラリとpdfviewerはqpdfライブラリに基づく例示的なPDFビューアです.
どうやってコンパイルしますか
qpdfliライブラリはPDFファイルを開く2つの方法を提供しています.
QPdfWidget::loadData(const QByteArray &pdfData);
QPdfWidget::loadFile(const QString &filePath);
方法は、PDFデータをbase 64文字列に順序付けし、JavaScript環境に注入する.注意:巨大なPDFファイルのロードに失敗する場合があります.任意のサイズのPDFをロードすることができますが、ドメイン間のセキュリティ制限のため、デフォルトではこの方法はWebEngineのURLローディング方法を使用するので、ブロックされます.この方法を有効にするためには、disable-web-securityパラメータをQpplicationの例に渡すことにより、Webセキュリティを無効にしなければなりません.
int main(int argc, char **argv)
{
#ifdef QPDF_WIDGET_USE_CORS
// Disable web security when using cross-origin URL fetch.
int nargs = argc + 1;
char** args = new char*[nargs];
for (int i = 0; i < argc; i++) {
args[i] = argv[i];
}
args[argc] = (char*)"--disable-web-security";
QApplication app(nargs, args);
#else
QApplication app(argc, argv);
#endif
...
}
ソースアドレスhttps://github.com/Archie3d/qpdf