Comments (3)
This seems to work great on most of my tested pdf files.
Some pdf files (also around 250 pages) are causing a timeout of pdfseparate. Problem is, that the script at that point doesn't know the page count yet, so the timeout can't be calculated proportionally.
Separating document into pages
Error separating document into pages, pdfseparate timed out after 60 seconds
sudo: unable to resolve host 9227720a63d0: Temporary failure in name resolution
from dangerzone.
@lenke182 , I encountered similar issues with large PDF documents of roughly 700 pages. I ended up increasing timeouts (proportional to page count) and switching from pdfseparate
to pdftk
.
My solution consisted into the following changes:
- Global timeout based on script leveraging
pdfinfo
:global_timeout = pdfinfo_page_ct * 30
- Changes in
dangerzone-converter
- Introduce a new dependency
pdftk
andlibvips-tools
in theDockerfile
- In
dangerzone-converter
update all scripts and set the process run timeout toglobal_timeout
- In
document-to-pixels-unpriv
, switch frompdfseparate
topdftk
:args = ["pdftk", pdf_filename, "burst", "output", "/tmp/page-%d.pdf"]
- In
document-to-pixels-unpriv
, swappdftocairo
withvips
:["vips", "pdfload", pdf_filename, png_filename]
.vips
appears faster thanpdftocairo
but I didn't benchmark it.
- Introduce a new dependency
- Changes in
dangerzone
UI project- Use my custom Docker image by updating
container.py
andglobal_common.py
- In
tasks.py
, skip image pulling as I'm using my own Docker local image.
- Use my custom Docker image by updating
There are still cases where the GUI stops printing command line output (10+MB PDF files)... I'm no Python connoisseur but in such cases I just "watch the contents" of the Docker volume folder and copy the generated safe PDF to its final destination (once the Docker process exits).
from dangerzone.
@micahflee, I believe that for big PDF files many will face problems. My main use case for dangerzone
is reading IT e-books (often 200+ pages). I'm only testing on an iMac, my other system runs Qubes OS.
from dangerzone.
Related Issues (20)
- Dangerzone not opening on macOS after installation. HOT 5
- QA and Release 0.6.1 HOT 3
- AttributeError: module 'PySide2.QtGui' has no attribute 'QAction' when running on Qt5 HOT 1
- Run from CLI with no containers HOT 3
- Dangerzone is listed as a PDF viewer to open safe documents with on Linux HOT 4
- Exception during conversion can make the process hang HOT 3
- Docker is installed but isn't running on Ubuntu 22.04 HOT 11
- "Open With Dangerzone" with 2 PDFs results in 2 instances of Dangerzone being opened on Linux
- Text in progress bar is cut off - Increase line height in gui? HOT 1
- "Open With Dangerzone" with 2 documents results in a single document getting selected in macOS
- Dangerzone segfaults on Fedora 39/40 HOT 4
- Dangerzone on OpenBSD
- No Match Found HOT 2
- Research: How to automate alerts for linux distro prereleases?
- Package for Opensuse Tumbleweed HOT 3
- Detect default application for opening PDFs HOT 1
- Code scanning currently failing with dependabot.
- Add Dangezone source in our signed assets
- Unable to run podman inside containers when using silicon mac HOT 1
- Install poetry-plugin-export, as it will not be installed by default in future poetry versions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dangerzone.