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つの方法を提供しています.
    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