PDF driver output vs Native PDF export

Please, see attached.

PDF Export Test.3dm (182.5 KB)
BullzipPDF.pdf (31.9 KB)
NativePDFexport.pdf (49.2 KB)

If we can solve those 3 issues with the current native PDF export for R6 we can move the mountains and crush our enemies with ease:

  1. Something is screwy with fonts, some non-windows native fonts don’t get exported Italicized or Bold.
  2. How do I change linetypes scale for export from model space? PDF print seems to work fine.
  3. How do I control output window in model space in python?

PDF driver (what we currently use):

Native PDF export (what we want to use - the speed is amazing on this thing):

@stevebaer

Hi @Asterisk I recorded a short video showing how to scale linetype styles and get italic non-native fonts with Rhino PDF. Do these methods work for you? I found a bug as well with editing text within a group that I filed as https://mcneel.myjetbrains.com/youtrack/issue/RH-58645 for future reference. This may have been the issue preventing you from setting the non-native font to Italic.

I’m not a Python user myself but did show how to export the extents of the selection in the export dialog. If you need assistance on a Python script post what you have to the scripting category please for feedback.

Thanks, Brian!
Oh man, I knew linetype scale was there… This was easy.
So, running Export command works to set proper printing area, but I need to have it scripted where I can export 100-300 part drawings by just pressing a button to run the script. So I kinda need Steve to chime in to tell me how to Export with “Selected Extents” option in python. We can skip the fonts issue, 'cause we can just find some other font that gets exported in italics.

It’s the control of area of export in pdf in python is what I really lack at the moment. It would be a blessing if we get rid of pdf driver printing, 'cause that guy always prints in raster…

Exported.pdf (36.4 KB) Printed.pdf (127.4 KB)

Can you post a script that you use now that is missing this part? @dale @stevebaer I think this will help you answer the remaining question.

import scriptcontext as sc
import System.Drawing
import rhinoscriptsyntax as rs

# create a new PDF document
pdf = Rhino.FileIO.FilePdf.Create()
dpi = 600
size = System.Drawing.Size(11*dpi, 8.5*dpi)
settings = Rhino.Display.ViewCaptureSettings(sc.doc.Views.ActiveView, size, dpi)

# add 1 or more pages based on ViewCaptureSettings
pdf.AddPage(settings)

#write the pdf file to disk
pdf.Write(rs.DocumentPath() + "test.pdf")

Are you exporting from standard model views or page (layout) views?

Standard model space.

Right now we use -_Print _Setup _View _ViewportArea _Window … to specify area of print.

We currently don’t have a function on the ViewCaptureSettings to define a window area. I added this to our bug list at
https://mcneel.myjetbrains.com/youtrack/issue/RH-58672

You may be able to get close to what you are after by zooming your active view to a bounding box before creating your settings
sc.doc.Views.ActiveView.MainViewport.ZoomBoundingBox(bbox)
Where bbox is the bounding box of the world rectangle that you are trying to print.

1 Like

bump.

This is still on my “todo” list. I haven’t had a chance to implement it yet

So, I tried to rig it doing it this way:

rs.Command("_SetZoomExtentsBorder P 0.8 _Enter", False)

And it works… for my display setup only…