QPDFVIEW(1)

πŸŽ€ QPDFVIEW(1) β€” NAME πŸŽ€

hiii bestie, welcome to the QPDFVIEW(1) page from the General Commands Manual πŸ’–

qpdfview β€” it's a tabbed document viewer. that's the whole vibe. tabs. documents. viewing. slay. πŸ‘‘


✨ SYNOPSIS ✨

qpdfview [options] [--] [file[#page]] [file[#src:name:line:column]] ...

like. give it options, give it files, maybe give it a -- to be polite, maybe give it a page number or a whole SyncTeX situation. she'll handle it. 🫢


🌸 DESCRIPTION 🌸

okay so qpdfview is a simple viewer for document files in the portable document format (PDF). that's the job. that's the assignment. and she ate. πŸ’…

under the hood she's using the Poppler library for rendering (that's the part that actually draws the pages, iconic) and the Qt toolkit for her interface (that's the part you look at, also iconic). two queens working together fr fr. πŸ‘‘


πŸ’– OPTIONS πŸ’–

  • --help β€” shows you the usage information. the classic "what do i even do here" button. πŸ†˜
  • --quiet β€” suppresses warning messages, specifically the ones that pop up when the program fails to open a file. so she'll just silently not open it. no drama, no notes. 🀫
  • --search text β€” kicks off a search for text in the current tab. instant find-in-page energy. πŸ”
  • --unique β€” okay this one is a whole thing. if an instance of qpdfview is started with this option, then any files opened using this option afterwards get opened as tabs in the original window. and if a file is already open in a tab of the original window, she doesn't make a duplicate β€” she just reloads it. no cap. πŸͺŸ
  • --instance name β€” uses name as the name of the instance contacted or created using the --unique option. this is the multitasking icon behavior: it lets you run multiple instances and remotely open and refresh tabs in any of them by passing the instance name. the argument must only contain the characters "[A-Z][a-z][0-9]_" and must not begin with a digit. yes bestie, that's a real constraint, respect it. ⚠️
  • --choose-instance β€” can be combined with the --unique option to display a dialog at start-up where the instance name can be chosen, with all instances that have tabs stored as suggestions. it's giving "let me pick my own adventure". πŸŽ€
  • [file[#page]] β€” file specifies the file to open. the optional parameter page opens the file at the given page. multiple files will be opened in separate tabs. ✨
  • [file[#src:name:line:column]] β€” forward search using SyncTeX is performed using the optional parameters: name, which is the name of the source file; line, which is the line number in the source file; and column, which is the column number in the source file β€” where the number 0 matches all lines respectively columns. so 0 is the "idc, all of them" option. πŸ¦‹

🌈 INTER-PROCESS COMMUNICATION 🌈

if the program is invoked using the --unique option, it registers an introspectable D-Bus interface at "local.qpdfview/MainWindow", which can be used to communicate with the application. yes she has a phone number. πŸ“ž

and if the --instance option is used, that D-Bus interface is registered at "local.qpdfview.name/MainWindow" instead. personalized phone number. πŸ’…


πŸ“ CONFIGURATION FILES πŸ“

qpdfview uses configuration files usually located at

"~/.config/qpdfview"

with the majority of settings contained in "qpdfview.conf". πŸ’Ύ

Persistent state like per-file settings, bookmarks and tabs is stored in an SQLite database usually located at

"~/.local/share/data/qpdfview/qpdfview"

so like. your bookmarks live there. protect that file with your life. 🫢


πŸŽ€ tweaking the vibe πŸŽ€

the icon theme used by Qt can be changed by setting the key "iconTheme" in the section "mainWindow". ✨

the application-wide Qt style sheet can be changed by setting the key "styleSheet" in the section "mainWindow". πŸ’…

the tile size in pixels used for tiled rendering can be adjusted by setting the key "tileSize" in the section "pageItem". the default value is 1024 pixels. 🧩

the minimum resp. maximum scale factor can be modified by changing the keys "minimumScaleFactor" resp. "maximumScaleFactor" in the section "documentView". the default values are 0.1 resp. 10.0. πŸ”

the timeout for auto-refresh resp. prefetch can be changed by setting the keys "autoRefreshTimeout" resp. "prefetchTimeout" in the section "documentView". the defaults are 750 resp. 250 milliseconds. ⏱️

the maximum number of per-file settings can be modified by changing the key "perFileSettingsLimit" in the section "mainWindow". the default value is 1000. πŸ“š


πŸ’€ EXAMPLES πŸ’€

okay bestie this section is long but it's literally the whole tutorial. read it. i'm not summarising. we don't do that here. πŸ™ˆ

the command

qpdfview foo.pdf#3 bar.pdf

opens "foo.pdf" in the first tab displaying the third page of the document and "bar.pdf" in the second tab displaying the beginning of the document. two tabs, two moods. πŸŽ€


the command

qpdfview --quiet foobar/*

opens all files that can be opened in the directory "foobar", suppressing warning messages for files that cannot be opened. the * does its little wildcard thing and she doesn't complain about the stragglers. 🀫


the command

qpdfview --search foo bar.pdf

opens "bar.pdf" in the first tab and starts a search for "foo". open and search in one breath. multitasking queen. πŸ”


subsequent execution of the commands

qpdfview --unique foo.pdf bar.pdf

and

qpdfview --unique foo.pdf#5

opens "foo.pdf" and "bar.pdf", then reloads "foo.pdf" and displays its fifth page. same window, same tab, new page. no new tab was created. periodt. πŸ’…


subsequent execution of the commands

qpdfview --unique foo.pdf

and

qpdfview bar.pdf

and

qpdfview --unique foo1.pdf bar1.pdf

opens "foo.pdf" in the first window, "bar.pdf" in a second window and then "foo1.pdf" and "bar1.pdf" in additional tabs in the first window. notice how bar.pdf got its own window because it wasn't invited with --unique. she said "you're not with the group". 😭


subsequent execution of the commands

qpdfview --unique --instance a foo1.pdf bar1.pdf

and

qpdfview --unique --instance b foo2.pdf bar2.pdf

and

qpdfview --unique foo3.pdf bar3.pdf

and

qpdfview --unique --instance a foo1.pdf#4 bar4.pdf

opens "foo1.pdf" and "bar1.pdf" in the first window, "foo2.pdf" and "bar2.pdf" in the second window, "foo3.pdf" and "bar3.pdf" in the third window and then reloads "foo1.pdf" and displays its fourth page and opens "bar4.pdf" in an additional tab in the first window. four commands. three windows. one bar4.pdf riding along into instance a. iconic behavior honestly. πŸ‘‘


subsequent execution of the commands

qpdfview --unique --instance a foo.pdf bar.pdf

and

qpdfview --unique --instance a --search foobar

opens "foo.pdf" and "bar.pdf" in a window and then starts a search for the term "foobar" in the document in the active tab (which is the last opened "bar.pdf"). yeah she searched the one you opened last. keep up bestie. πŸ”₯


the command

qpdfview --unique foobar.pdf#src:foobar.tex:42:0

opens or refreshes "foobar.pdf" jumping to and highlighting the position that corresponds to line 42 of the source file "foobar.tex". and the 0 at the end means all columns, remember? πŸ¦‹


the lines

[documentView]
autoRefreshTimeout=1250
[mainWindow]
styleSheet="QTabBar::tab { max-width: 150px; }"

will configure the auto-refresh timeout to 1250 milliseconds and the change the maximum tab width to 150 pixel. look at you, editing configs. so grown up. πŸ’œ


πŸ› BUGS πŸ›

if you find a bug, please report it at

"https://launchpad.net/qpdfview"

she wants to know. she wants to grow. be nice about it though. 🫢


ngl if you made it this far you're lowkey a qpdfview main character now. go open a PDF. go wild. 🌸

and that's the whole page bestie β€” this was the QPDFVIEW(1) manual, sourced from QPDFVIEW(1) and dated July 2012. oldie but she's still serving. mwah. πŸ’…βœ¨