AgentEd
시각적 마크다운 편집기로, 프론트매터와 토큰 추정 기능 제공
PDF4QT는 Windows·Linux용 오픈소스 PDF 편집기로, 보기·편집·렌더링에서 뛰어난 경험을 제공
PDF4QT is an open source PDF editor for Windows/Linux. This modern solution offers an unparalleled experience for viewing, editing, and rendering PDF documents.
생산성C++ · CMakeGitHub @JakubMelka온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
PDF4QT is an open-source PDF toolkit for Windows and Linux, combining powerful desktop applications, command-line tools and a modern MIT-licensed C++/Qt PDF engine.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗(c) Jakub Melka 2018-2026
This software is consisting of PDF rendering library, and several applications, such as advanced document viewer, command line tool, and document page manipulator application. Software is implementing PDF functionality based on PDF Reference 2.0. It is written and maintained by Jakub Melka.
Software works on Microsoft Windows / Linux.
Software is provided without any warranty of any kind.
Should you find this software beneficial, your support would be greatly appreciated :heart: Sponsor!
This software is based in part on the work of the Independent JPEG Group.
Portions of this software are copyright © 2019 The FreeType Project (www.freetype.org). All rights reserved.
This software was originally licensed under the GNU Lesser General Public License version 3 (LGPLv3). As of April 27, 2025, the project has been relicensed under the MIT License by the original author. The change to the MIT License was made to provide greater freedom and flexibility for both open-source and commercial use, reduce legal complexity, and encourage broader adoption and contribution.
Please see the attached LICENSE.txt file for details.
This software also uses several third-party libraries, and users must comply with the licenses of those third-party components.
Software have following features (the list is not complete):
Several third-party libraries are used.
PDF4QT_ENABLE_OCR)Contributions are welcome!
Since the project is now licensed under the MIT License, contributions can be freely submitted without the need to sign a Contributor License Agreement (CLA). However, all contributions must be made under the terms of the MIT License to ensure license consistency across the project.
You are encouraged to contribute by testing, offering feedback, providing advice, or submitting code improvements.
The Release page lists binaries for Windows, both with and without an installer.
A pdf4qt-git package is available in the AUR.
For other Linux distributions, there are two options available. A Flatpak package can be accessed at Flathub. Alternatively, an AppImage is available in the Releases section. The AppImage format is designed to work on nearly all Linux systems. Historically, a .deb package was also offered, but it has been discontinued due to compatibility issues with some Linux distributions. The executable names are: Pdf4QtEditor, Pdf4QtDiff, Pdf4QtLaunchPad, Pdf4QtPageMaster, Pdf4QtViewer, and PdfTool.
This software can be compiled on both Windows and Linux. A compiler supporting the C++20 standard is needed.
On Windows, you can use Visual Studio 2022 or MinGW.
On Linux, a GCC version >= 8 should work, altough we tested it with GCC 11.
Install vcpkg
git clone https://github.com/Microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh -disableMetrics
VCPKG_ROOT=$(pwd)/vcpkg
Check that vcpkg path is correct: $VCPKG_ROOT/vcpkg --version.
Build PDF4QT
2.1 Clone repo
git clone https://github.com/JakubMelka/PDF4QT
cd PDF4QT
2.2 Configure
cmake -B build -S . -DPDF4QT_INSTALL_QT_DEPENDENCIES=0 -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DCMAKE_INSTALL_PREFIX='/' -DCMAKE_BUILD_TYPE=Release
(One user reported success with -DCMAKE_INSTALL_PREFIX='' instead, as otherwise all there paths were prepended with /usr (causing /usr/usr...
For a debug build, append -DCMAKE_BUILD_TYPE=Debug.
It is recommended to set the VCPKG_OVERLAY_PORTS variable to 'PDF4QT/vcpkg/overlays' to prevent crashes due to the incompatible LIBPNG library on some Linux systems.
2.3 Build
cmake --build build
Use the -j switch to build multiple files in parallel.
2.4 Install
sudo cmake --install build
To uninstall, run sudo xargs rm < ./build/install_manifest.txt.
Several important compilation options are available and should be set before building. On Windows, CMake can prepare a Wix project to create a *.msi installer package.
| Option | Platform | Description |
|---|---|---|
PDF4QT_INSTALL_MSVC_REDISTRIBUTABLE | Windows | Includes MSVC redistributable in installation |
PDF4QT_INSTALL_PREPARE_WIX_INSTALLER | Windows | Prepare .msi installator using Wix installer |
PDF4QT_INSTALL_DEPENDENCIES | Any | Install dependent libraries into installation directory |
PDF4QT_INSTALL_QT_DEPENDENCIES | Any | Install Qt dependent libraries into installation directory |
VCPKG_OVERLAY_PORTS | Linux | Set it to prevent crashes with incompatible libpng library |
PDF4QT_ENABLE_OCR | Any | Build the OCR feature (Tesseract engine), ON by default |
Following important variables should be set or checked before any attempt to compile this project:
| Variable | Platform | Description |
|---|---|---|
PDF4QT_QT_ROOT | Any | Qt installation directory |
QT_CREATOR_SKIP_VCPKG_SETUP | Any | Enable or disable automatic vcpkg setup |
CMAKE_PROJECT_INCLUDE_BEFORE | Any | Should be set to package manager auto setup |
CMAKE_TOOLCHAIN_FILE | Any | Should be set to toolchain |
CMAKE_BUILD_TYPE | Any | Can be Release (default) or Debug |
Following set of variables gives sample setup for MS Windows. It is minimal initial configuration to be able to built Debug build on MS Windows.
| Key | Value |
|---|---|
CMAKE_BUILD_TYPE | Debug |
CMAKE_CXX_COMPILER | %{Compiler:Executable:Cxx} |
CMAKE_C_COMPILER | %{Compiler:Executable:C} |
CMAKE_GENERATOR | Ninja |
CMAKE_PREFIX_PATH | %{Qt:QT_INSTALL_PREFIX} |
CMAKE_PROJECT_INCLUDE_BEFORE | %{IDE:ResourcePath}/package-manager/auto-setup.cmake |
CMAKE_TOOLCHAIN_FILE | %{Qt:QT_INSTALL_PREFIX}/lib/cmake/Qt6/qt.toolchain.cmake |
PDF4QT_QT_ROOT | C:/Programming/Qt/6.4.0/msvc2019_64 |
QT_QMAKE_EXECUTABLE | %{Qt:qmakeExecutable} |
I wrote this project in my free time. I hope you will find it useful!