How to print a pdf document with mupdf?
Clash Royale CLAN TAG#URR8PPP
I didn't find any print key in the mupdf manual (http://mupdf.com/docs/manual). Is there an undocumented printing function or any other good way to print the document when opened with mupdf?
add a comment |
I didn't find any print key in the mupdf manual (http://mupdf.com/docs/manual). Is there an undocumented printing function or any other good way to print the document when opened with mupdf?
add a comment |
I didn't find any print key in the mupdf manual (http://mupdf.com/docs/manual). Is there an undocumented printing function or any other good way to print the document when opened with mupdf?
I didn't find any print key in the mupdf manual (http://mupdf.com/docs/manual). Is there an undocumented printing function or any other good way to print the document when opened with mupdf?
asked Sep 17 '16 at 18:58
studentstudent
7,1901766128
7,1901766128
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
MuPDF is a Viewer Application. As of version 1.1, there is no printing function out of the box.
add a comment |
No, no undocumented printing function found, but maybe the other good way.
If you by some chance do not like typing the name of your pdf to command line, you may configure your file manager to call a script that will print it for you. This is from my vimf config - vifmrc:
v1
com lp lp -dHLL2300D -P %a -ofit-to-page %c
If you need to know the page in mupdf, hit Shift+p a look carefully to upper left corner. Then select file in vifm (it is probably already selected, because you might have opened the pdf that way) and type e.g.
:lp 20-30
That might have been all, but I did version 2, because I needed something more custom.
com lp python3 /home/h/py/print.py %c
:nnoremap o :lp<cr>
and below is the script where I call lp on line ~13. The script is longer because I keep history of my prints.
/home/h/py/print.py
#!/usr/bin/env python3
import argparse
import subprocess
print()
with open('/home/h/py/printlog', 'r') as f:
print(f.read())
print('----')
parser = argparse.ArgumentParser()
parser.add_argument('file')
args = parser.parse_args()
print(args.file)
pages = input('print pages: ')
subprocess.run(['lp','-dHLL2300D', '-P', pages, '-ofit-to-page', args.file])
with open('/home/h/py/printlog', 'a') as f:
f.write('n')
f.write(pages)
f.write('t')
f.write(args.file)
input('press Return to return')
Now i just toggle mupdf and vifm with i3wm and hit 'o' for print, enter any range or pages and hit Return to print. If I want just a few more pages of some pdf that I started reading, I do not even open mupdf, I just hit 'o' on the file in vifm and specify the pages to print.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f310550%2fhow-to-print-a-pdf-document-with-mupdf%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
MuPDF is a Viewer Application. As of version 1.1, there is no printing function out of the box.
add a comment |
MuPDF is a Viewer Application. As of version 1.1, there is no printing function out of the box.
add a comment |
MuPDF is a Viewer Application. As of version 1.1, there is no printing function out of the box.
MuPDF is a Viewer Application. As of version 1.1, there is no printing function out of the box.
answered Nov 22 '16 at 15:58
SunSun
138112
138112
add a comment |
add a comment |
No, no undocumented printing function found, but maybe the other good way.
If you by some chance do not like typing the name of your pdf to command line, you may configure your file manager to call a script that will print it for you. This is from my vimf config - vifmrc:
v1
com lp lp -dHLL2300D -P %a -ofit-to-page %c
If you need to know the page in mupdf, hit Shift+p a look carefully to upper left corner. Then select file in vifm (it is probably already selected, because you might have opened the pdf that way) and type e.g.
:lp 20-30
That might have been all, but I did version 2, because I needed something more custom.
com lp python3 /home/h/py/print.py %c
:nnoremap o :lp<cr>
and below is the script where I call lp on line ~13. The script is longer because I keep history of my prints.
/home/h/py/print.py
#!/usr/bin/env python3
import argparse
import subprocess
print()
with open('/home/h/py/printlog', 'r') as f:
print(f.read())
print('----')
parser = argparse.ArgumentParser()
parser.add_argument('file')
args = parser.parse_args()
print(args.file)
pages = input('print pages: ')
subprocess.run(['lp','-dHLL2300D', '-P', pages, '-ofit-to-page', args.file])
with open('/home/h/py/printlog', 'a') as f:
f.write('n')
f.write(pages)
f.write('t')
f.write(args.file)
input('press Return to return')
Now i just toggle mupdf and vifm with i3wm and hit 'o' for print, enter any range or pages and hit Return to print. If I want just a few more pages of some pdf that I started reading, I do not even open mupdf, I just hit 'o' on the file in vifm and specify the pages to print.
add a comment |
No, no undocumented printing function found, but maybe the other good way.
If you by some chance do not like typing the name of your pdf to command line, you may configure your file manager to call a script that will print it for you. This is from my vimf config - vifmrc:
v1
com lp lp -dHLL2300D -P %a -ofit-to-page %c
If you need to know the page in mupdf, hit Shift+p a look carefully to upper left corner. Then select file in vifm (it is probably already selected, because you might have opened the pdf that way) and type e.g.
:lp 20-30
That might have been all, but I did version 2, because I needed something more custom.
com lp python3 /home/h/py/print.py %c
:nnoremap o :lp<cr>
and below is the script where I call lp on line ~13. The script is longer because I keep history of my prints.
/home/h/py/print.py
#!/usr/bin/env python3
import argparse
import subprocess
print()
with open('/home/h/py/printlog', 'r') as f:
print(f.read())
print('----')
parser = argparse.ArgumentParser()
parser.add_argument('file')
args = parser.parse_args()
print(args.file)
pages = input('print pages: ')
subprocess.run(['lp','-dHLL2300D', '-P', pages, '-ofit-to-page', args.file])
with open('/home/h/py/printlog', 'a') as f:
f.write('n')
f.write(pages)
f.write('t')
f.write(args.file)
input('press Return to return')
Now i just toggle mupdf and vifm with i3wm and hit 'o' for print, enter any range or pages and hit Return to print. If I want just a few more pages of some pdf that I started reading, I do not even open mupdf, I just hit 'o' on the file in vifm and specify the pages to print.
add a comment |
No, no undocumented printing function found, but maybe the other good way.
If you by some chance do not like typing the name of your pdf to command line, you may configure your file manager to call a script that will print it for you. This is from my vimf config - vifmrc:
v1
com lp lp -dHLL2300D -P %a -ofit-to-page %c
If you need to know the page in mupdf, hit Shift+p a look carefully to upper left corner. Then select file in vifm (it is probably already selected, because you might have opened the pdf that way) and type e.g.
:lp 20-30
That might have been all, but I did version 2, because I needed something more custom.
com lp python3 /home/h/py/print.py %c
:nnoremap o :lp<cr>
and below is the script where I call lp on line ~13. The script is longer because I keep history of my prints.
/home/h/py/print.py
#!/usr/bin/env python3
import argparse
import subprocess
print()
with open('/home/h/py/printlog', 'r') as f:
print(f.read())
print('----')
parser = argparse.ArgumentParser()
parser.add_argument('file')
args = parser.parse_args()
print(args.file)
pages = input('print pages: ')
subprocess.run(['lp','-dHLL2300D', '-P', pages, '-ofit-to-page', args.file])
with open('/home/h/py/printlog', 'a') as f:
f.write('n')
f.write(pages)
f.write('t')
f.write(args.file)
input('press Return to return')
Now i just toggle mupdf and vifm with i3wm and hit 'o' for print, enter any range or pages and hit Return to print. If I want just a few more pages of some pdf that I started reading, I do not even open mupdf, I just hit 'o' on the file in vifm and specify the pages to print.
No, no undocumented printing function found, but maybe the other good way.
If you by some chance do not like typing the name of your pdf to command line, you may configure your file manager to call a script that will print it for you. This is from my vimf config - vifmrc:
v1
com lp lp -dHLL2300D -P %a -ofit-to-page %c
If you need to know the page in mupdf, hit Shift+p a look carefully to upper left corner. Then select file in vifm (it is probably already selected, because you might have opened the pdf that way) and type e.g.
:lp 20-30
That might have been all, but I did version 2, because I needed something more custom.
com lp python3 /home/h/py/print.py %c
:nnoremap o :lp<cr>
and below is the script where I call lp on line ~13. The script is longer because I keep history of my prints.
/home/h/py/print.py
#!/usr/bin/env python3
import argparse
import subprocess
print()
with open('/home/h/py/printlog', 'r') as f:
print(f.read())
print('----')
parser = argparse.ArgumentParser()
parser.add_argument('file')
args = parser.parse_args()
print(args.file)
pages = input('print pages: ')
subprocess.run(['lp','-dHLL2300D', '-P', pages, '-ofit-to-page', args.file])
with open('/home/h/py/printlog', 'a') as f:
f.write('n')
f.write(pages)
f.write('t')
f.write(args.file)
input('press Return to return')
Now i just toggle mupdf and vifm with i3wm and hit 'o' for print, enter any range or pages and hit Return to print. If I want just a few more pages of some pdf that I started reading, I do not even open mupdf, I just hit 'o' on the file in vifm and specify the pages to print.
edited Feb 14 at 11:12
answered Feb 11 at 0:27
Michal ŠtěpánekMichal Štěpánek
213
213
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f310550%2fhow-to-print-a-pdf-document-with-mupdf%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown