Print from schematic editor is not centered on paper

Because in the real world you have plotters and printers, which are not the same thing.

Maybe historical. I remember when the postscript option was an expensive extra in a printer. So going through third party rendering systems like PDF in the Linux world was not always ideal

Many programs still have Plot vs Print :3

Even in Microsoft Office, you can Save to PDF or you can Print to the Microsoft PDF Printer.
The two results are similar but very different, in particular, you lose some output metadata and future editing ability by using Print instead of Save

In fact, most people are printing to a real Printer and not to PDF. And having the print option allows expediting that print. Not to mention PDF is not a fully native format requiring complex readers that are not feature complete (only Adobe makes a feature complete reader), we don’t want to start telling users “Install Adobe Reader, the only program we can guarantee renders our PDFs correctly so you can print them!”

Print to PDF is a feature that platforms started adding with no ability for programs to opt out nor care that the resulting output sucks compared to built-in app capability :stuck_out_tongue:

1 Like

Looks like a momentary lapse in judgement on my part. My workflow post Covid has me sending PDF and Spreadsheets (XLSX or ODS) to people with 50"+ 4K or 8K monitors and no other need for KiCad or KiCost. Managers, Program Managers, Purchasing, Marketing, Service…

I looked at KiCad 6 and 7 Plot output and had forgotten it was limited to 5 very useful file formats. Yes, Print… is easier for targeting anything with a print driver.

I am otherwise familiar with everything from real blueprints with the ammonia smell, HP E size plotters, and at home I use an Epson ET-16650 [11x17, 8.5x14, 8.5x11], at work HP Color Laser M553. I only print things out anymore when making a service type manual to ship with a prototype, or calling a meeting with actual people (as opposed to video conference where PDF and Spreadsheet distribution works better).

All this is very interesting, but is anyone out there going to either submit a bug report or ask for an official workaraound ?
I too use plot for my own PDF archives, but I also print for myself while developing ('cos often several projects running at the same time and I can annotate on a bit of paper far more quickly than I can get back to the KiCad system to add changes) - so I also often use print. Many projects are across 8 or so sheets.

All this is very interesting,

Yes.

but is anyone out there going to either submit a bug report or ask for an official workaraound ?

No.
Because there is already a bugreport - see second answer in this thread.
It just got not the main attention from the developers in the past.
If you want to increase the issue-weight: give a thumbs-up in the opening post of the gitlab issue.

3 Likes

As mentioned in the KiCad gitlab issue #1907 (see second post in thread), there is a wxWidgets issue filed for this:

1 Like

This means that the bug lies in the third party framework. How PCB seems to avoid the bug is a good question. I suspect schematics are printed far more often than PCB layouts, so issues may have been missed.

#1907 got closed with the commit linked below, but it seems I get the same problem in the latest nightly, at least with a pre-existing project / schematic.

Print_output_20230911.pdf (12.1 KB)

Application: KiCad x86_64 on x86_64

Version: 7.99.0-1.20230911gita2b7bf9.fc38, release build

Libraries:
wxWidgets 3.2.2
FreeType 2.13.0
HarfBuzz 7.1.0
FontConfig 2.14.2
libcurl/8.0.1 OpenSSL/3.0.9 zlib/1.2.13 brotli/1.0.9 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) libssh/0.10.5/openssl/zlib nghttp2/1.52.0

Platform: Fedora Linux 38 (KDE Plasma), 64 bit, Little endian, wxGTK, KDE, wayland

Build Info:
Date: Sep 11 2023 17:21:41
wxWidgets: 3.2.2 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.78.0
OCC: 7.6.3
Curl: 8.0.1
ngspice: 41
Compiler: GCC 13.2.1 with C++ ABI 1018

Build settings:

See https://gitlab.com/kicad/code/kicad/-/issues/1907#note_1554167241

It looks like there are some fixed issues in wxGTK which will be available in wx version 3.2.3, which it seems is planned to be released on october 10th.
Then I suppose we have to wait until 3.2.3 is packaged and released by the Linux distribution.

Issues:

Regarding upcoming release of wxWidgets 3.2.3:
https://groups.google.com/g/wx-dev/c/rtYbytDqpBo

Update: wxWidgets 3.2.3 has now been tagged and should be available shortly:
https://groups.google.com/g/wx-dev/c/zXJ8GyQ3H_0

1 Like

There are now, besides the fixes in the KiCad commits mentioned above and in the wxWidgets code, also some further news in the 7.99 nightly regarding the printing issue in Schematic editor, discussed in this thread.

In the two commits linked below, printing with the Cairo framework (already used in the Board editor) is now introduced in the Schematic editor. For now it is hidden behind an advanced configuration option*, but I tried it out and it seems to print and place the page correctly centered on the paper.

The preview does not work (yet?) in the first step of the printing dialogues, but the second preview that is offered by the OS / window manager does work and shows the result.

Here the two recent commits that introduce Cairo printing to Schematic editor:

  • Advanced config is required to activate the cairo printing, by default the wxWidgets based printing is used just like before. In order to activate cairo printing in schematic editor a file named “kicad_advanced” must exist in the config directory of KiCad, and in that file the setting “EnableEeschemaPrintCairo = 1” (without the quotes) must exist on one of the lines (may be the only line, unless other advanced config options are enabled).
    The config (preferences) directory can be found by opening menu “Preferences” then klick “Preferences…” then in the preferences dialogue window that appears klick the button “Open Preferences Directory” at the bottom, slightly to the left.
    On fedora linux (and probably many other linuxes) it is:
    ~/.config/kicad/7.99

I tried it out on the following KiCad version and system:

Application: KiCad x86_64 on x86_64

Version: 7.99.0-1.20231123git029df17.fc39, release build

Libraries:
wxWidgets 3.2.2
FreeType 2.13.1
HarfBuzz 8.2.1
FontConfig 2.14.2
libcurl/8.2.1 OpenSSL/3.1.1 zlib/1.2.13 brotli/1.1.0 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) libssh/0.10.5/openssl/zlib nghttp2/1.55.1 OpenLDAP/2.6.6

Platform: Fedora Linux 39 (KDE Plasma), 64 bit, Little endian, wxGTK, X11, KDE, wayland

Build Info:
Date: Nov 23 2023 18:21:03
wxWidgets: 3.2.2 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.81.0
OCC: 7.6.3
Curl: 8.2.1
ngspice: 41
Compiler: GCC 13.2.1 with C++ ABI 1018

Build settings:

3 Likes

There is now yet another commit that improves cairo printing: activates anti-aliasing and removes the non-working preview mentioned in my previous post above.

It seems to produce reasonable output both on PDF as well as paper for me, though I have not done very exhaustive testing.
Feel free to try it out if you like.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.