andymeneely / squib

A Ruby DSL for prototyping card games.
http://squib.rocks
MIT License
916 stars 67 forks source link

save_pdf: add optional "cut guides" in the margins #123

Closed programmingisgood closed 7 years ago

programmingisgood commented 8 years ago

It would be nice to have an option for "cut guides" to be printed on the edges of a sheet of cards.

So usually you get a sheet with 8 or so cards on it. You need to add a border from the edge of the paper because printers are a technology from the stone age. It would be great if there were little lines on the edge of the sheet showing where to start and end the cut with a paper cutter so you cut the cards correctly.

Right now I just eyeball this and hope for the best (I'm usually pretty close but not perfect).

I figured this would be a simple addition and may help others cut out dozens of sheets of cards like I often find myself doing :)

andymeneely commented 8 years ago

I already do this in my games using rect. If you look at the built-in layouts, they have cut lines in them so you can just do rect layout: 'cut'. Also, the trim option on save_pdf allows you to print out without the outer bleed. You can also use png with a proof image, like png file: 'tgc-proof-overlay.png', alpha: 0.5.

You can see this in one of my projects: https://github.com/andymeneely/project-spider-monkey/blob/master/src/deck.rb https://github.com/andymeneely/project-spider-monkey/blob/master/builds/deck_bw_002.pdf

BTW this is definitely something I'm working on documenting better in the wiki.

programmingisgood commented 8 years ago

Are you referring to the lines framing the card content in the linked PDF?

I do something similar. But I am talking about something on the edges of the sheet of printed paper so the cuts are easier to line up (I use a paper cutter instead of scissors). This is probably a pretty pedantic request but I do sometimes mess up my cuts (cutting off icons or text on the edge of a card) and have to reprint the sheet.

I don't think there is currently a way to do this seeing as all data is "inside" the card right now. These lines aren't owned by any cards.

Not a big deal but I figured maybe others would find this useful.

andymeneely commented 8 years ago

Ah! Not pedantic at all. I like that idea - like little cut lines around the margins. I think I can do that. I'm gonna rename the issue so I can recognize it later.

I'm hoping to get some development time on Squib in the coming weeks. End of the semester is hitting me hard, but I usually get lots of work done over winter break.

andymeneely commented 8 years ago

I'm thinking the option will be simply cut_guides: true and it will be drawn the entire span of the margin parameter. The printer won't be able to print full-bleed of course, but that should be simple enough.

Also: should be done for save_sheet

Fun fact: someone else requested me this feature yesterday too.

andjd commented 8 years ago

This is one of the features I am planning on implementing when working on making the save_sheet method better

andymeneely commented 8 years ago

Thanks for working on it! Let's make it a separate pull request so I can test it independently.

I am concerned about putting stuff into the margins and how some printers react. Some printers will automatically select "shrink to full size" if you have these cut guides. Which means that cards will print smaller than expected. Could just warn the user about this though.

andymeneely commented 7 years ago

Playing around with this as a new feature for the next release. I'm thinking I'll name it crop_marks. Might be turned off by default for my printer concerns, but I'll test things out either way.

programmingisgood commented 7 years ago

Excellent. I'll be happy to test it out once it is ready :)

On Tue, Oct 25, 2016 at 8:38 PM, Andy Meneely notifications@github.com wrote:

Playing around with this as a new feature for the next release. I'm thinking I'll name it crop_marks. Might be turned off by default for my printer concerns, but I'll test things out either way.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/andymeneely/squib/issues/123#issuecomment-256241617, or mute the thread https://github.com/notifications/unsubscribe-auth/AC3CGGZYGAkjG7fdL_UFOs-v_7GChAh-ks5q3stIgaJpZM4GyNar .

Brian Cronin

andymeneely commented 7 years ago

Ok I've got this initially working on the crop_marks branch in the repo. @programmingisgood if you want to test it out go ahead. In particular,

andymeneely commented 7 years ago

I've been testing this on my own printers. They all scale when you put something in the margins, so you have to turn that off. For that reason I have crop_marks default to false and I put a warning in the docs about it.

By the way, this is now merged into the dev branch, which means the docs are on the "latest" version.

http://squib.readthedocs.io/en/latest/dsl/save_pdf.html

That being said, I'm glad I finally got around to this. I didn't realize how much I like having this :)

programmingisgood commented 7 years ago

I finally switched over to dev and generated some cards using the crop marks.

OMG THANK YOU! :D

I haven't print yet with these but it looks like they will work just fine. I will report back if anything is wrong when printing.

I always turn off any scaling when printing. The PCs at the print shop I use always default to "fit to page" or whatever. I change that to no scaling and my cards then print at the intended physical dimensions.

Thanks again Andy! Squib is really amazing at this point. I have been meaning to create some intro videos covering squib. I will be sure to send links over when I finally get around to that.

On Thu, Nov 3, 2016 at 1:15 PM, Andy Meneely notifications@github.com wrote:

I've been testing this on my own printers. They all scale when you put something in the margins, so you have to turn that off. For that reason I have crop_marks default to false and I put a warning in the docs about it.

By the way, this is now merged into the dev branch, which means the docs are on the "latest" version.

http://squib.readthedocs.io/en/latest/dsl/save_pdf.html

That being said, I'm glad I finally got around to this. I didn't realize how much I like having this :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/andymeneely/squib/issues/123#issuecomment-258260802, or mute the thread https://github.com/notifications/unsubscribe-auth/AC3CGFGiWBT6SUax7M_vVAwxab7TXC4wks5q6kDbgaJpZM4GyNar .

Brian Cronin

andymeneely commented 7 years ago

Thanks Brian! Videos would be an amazing contribution.

programmingisgood commented 7 years ago

I have since tested this on a print out and the lines aren't hitting the edge of the paper for some reason. I have "fit to page" disabled. Any other ideas?

The lines are still helpful even without going right to the edge so I'm not super worried about this (especially if others are able to get them to hit the edge).

Thanks again Andy.

andymeneely commented 7 years ago

The PDF doesn't go to the edge, or the printer doesn't? Printers always impose some sort of hard limit on the margin.

programmingisgood commented 7 years ago

The PDF looks right so it must just be the printed then. It is very helpful in any case!

On Mon, Dec 5, 2016 at 1:47 PM, Andy Meneely notifications@github.com wrote:

The PDF doesn't go to the edge, or the printer doesn't? Printers always impose some sort of hard limit on the margin.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/andymeneely/squib/issues/123#issuecomment-264987738, or mute the thread https://github.com/notifications/unsubscribe-auth/AC3CGM2irIZ2zHPgs0g9sNdObo5l3l0-ks5rFIZngaJpZM4GyNar .

-- Brian Cronin