Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle printing of documents in browser #1314

Closed
blink1073 opened this issue Nov 28, 2016 · 2 comments · Fixed by #5850
Closed

Handle printing of documents in browser #1314

blink1073 opened this issue Nov 28, 2016 · 2 comments · Fixed by #5850
Assignees
Labels
enhancement pkg:notebook status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. tag:Feature Parity
Milestone

Comments

@blink1073
Copy link
Member

So you can hit the browser's print button and get a nice looking printout. This should take into account the most recent document.

@jasongrout
Copy link
Contributor

jasongrout commented Nov 28, 2016

Background on the print media selector - https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_started/Media.

If there is a CSS class applied to the currently active document, we could maybe do something like @media print .document:not(.active-document) {display: none} or something to hide everything except the current document. Interesting...

@saulshanabrook
Copy link
Member

I investigated the above solution and couldn't get it to work. Hiding not visible elements still leaves everything absolutely positioned by phosphor.

Then, I tried using creating an empty iframe, copying over the node we want to print into it, and calling print on the window. I used this library to do this: https://github.com/joseluisq/printd

That works for the JSON viewer, but doesn't work well for text editors or notebooks. For those, we need some custom functionality likely. For notebooks, we could use the To HTML functionality of nbconvert to get a nicer print preview.

So then we (@afshin @jasongrout) started talking about different ways widgets could provide custom print functionality. We settled on two ways do this that might be OK:

  1. Define a new Symbol for printing and have widgets that implement custom printing define a method named by the symbol.
  2. Send a message to the widget when printing. On the MainAreaWidget handle this method, and call the onPrintMessage method which subclasses define.

@lock lock bot added the status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. label Aug 7, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Aug 7, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement pkg:notebook status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. tag:Feature Parity
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants