jpt13653903 / gerber2pdf Goto Github PK
View Code? Open in Web Editor NEWGerber to PDF converter
Home Page: https://sourceforge.net/projects/gerber2pdf/
License: GNU General Public License v3.0
Gerber to PDF converter
Home Page: https://sourceforge.net/projects/gerber2pdf/
License: GNU General Public License v3.0
Hello,
thank you for this project. I would like to ask you if it is possible to make pdf generated from gerber searchable. It would be great, but I do not even know if it is possible. I tried some online pdf ocr webpages, but it works just partially and pdf is not vector after that.
Thanks.
Add the ability to specify a blend function between layers, as well as performing boolean operations on said layers.
One use case would be to subtract the solder mask layer from the board outline layer in order to render a more realistic PCB.
This enhancement is dependent on issue #1
Also refer to this issue.
Label
Bug reports should carry the bug label.
Alternative Bug List
Please consult the SourceForge Discussion page before reporting a bug here.
Describe the bug
A clear and concise description of what the bug is.
From SF, download. Saved to folder. Opened folder, clicked on .exe. DOS opens, with some notes and says press enter to continue. Pressed enter. DOS screen closes. Nothing else happens. The .exe file is the only file downloaded, i.e. no readme, etc.
So, I downloaded it, from GitHub. Unzipped it. Can't find an .exe file, to tell it to run. However, I did get some other file types... Readme, etc.
To Reproduce
Steps to reproduce the behaviour. Attach a minimal example source file, if applicable.
I tried repeated downloads, with the same results
Expected behavior
A clear and concise description of what you expected to happen.
I expected the DOS screen to close and the Start page/screen to open.
Environment (please complete the following information):
Please advise.
The /Name
entry is no longer used in Form XObjects and should therefore not appear in the output
The output PDF contains multiple /Opaque
entries, for instance:
/ExtGState <</Opaque 3 0 R /Opaque 3 0 R /Opaque 3 0 R>>
The code-base is largely platform independent, but there are still a few Win32 specific API calls.
This enhancement entails using #ifdef
... #else
... #endif
blocks to turn the currently platform specific portions of the code into platform independent versions.
The Ucamco test files do not render correctly for all examples.
Fix:
Convert the board outline to an area. Inner routing areas should be drawn as holes.
This enhancement is dependent on issue #1 having been sorted out.
Also refer to this issue and this issue.
The --strokes2fills
option currently has the limitation that it applies to all instances of the Gerber file, taking the state of the first instance and ignoring the others.
This should be changed so that different instances of the Gerber file can have different --strokes2fills
settings.
I've had some requests for a GUI front-end to the command-line tool. Unfortunately, I don't have time to implement, as my day-job is keeping me rather busy at the moment...
If you're interested in taking up the task, feel free to open up a discussion on this feature request to discuss potential features, look-and-feel, etc.
Please keep it platform independent. Python is good choice. I was also thinking that a web-based solution might be a good option, albeit a bit limited in functionality.
Relates to issue #17 -- The current version does not implement the new Gerber file format features.
Clone of this issue on SourceForge, reproduced here for convenience.
The Gerber file format assumes an imaging model where the result can be drawn and erased in so-called "dark" and "clear" levels. Unfortunately, PDF does not support this model. There is no way to erase something that has been drawn.
The opacity is not part of the colour, but rather a property of the graphics state. The resulting opacity after a blend is always a union between the source and destination opacities. The consequence of this is that once the opacity is unity, it will remain unity. There is no way to clear it.
For aperture macros, I make use of clipping paths to obtain the correct result, but this method does not work for copper areas. Once the aperture has been created, there is no way to use that result to influence a lower-level clipping path. To obtain the correct visual result, I cheat and draw "clear" apertures in white.
This only works when a single layer is drawn onto a white page. When drawing a layer with large areas over another layer, the holes in that area are still being drawn as white, which gives the wrong result.
Any suggestions on how to fix this would be much appreciated.
Paraphrased from an email sent by @JonThe640:
It would be nice if we can choose the pagesize
-page_size=extents|A3|A4|letter]
for each pdf page separately.I request this because in the first page, we want to add a signature box automatically by means of a script, but the page should have a standard size (letter or A4). For other pages, the
extend
option is best because we have larger images.
At the moment, the only documentation is the "help" produced when running the application without any command-line options. It would be useful to have more comprehensive Markdown-based documentation in the "Docs" folder.
The documentation should include:
.bat
or .sh
files with sensible colour-schemesPut combined layers in a sub-branch in the bookmark tree. The tree root is the first layer and the children are the others.
When using GhostScript to reduce the output PDF size, it complains: warning: ignoring zlib error: incorrect data check
The command-line used is gswin64c -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dPDFSETTINGS=/screen -dEmbedAllFonts=true -dSubsetFonts=true -dColorImageDownsampleType=/Bicubic -dColorImageResolution=144 -dGrayImageDownsampleType=/Bicubic -dGrayImageResolution=144 -dMonoImageDownsampleType=/Bicubic -dMonoImageResolution=144 -sOutputFile=P2-510xxxx_xx_gs.pdf P2-510xxxx_xx.pdf
From Mark Geisler:
Love this utility! Would make one recommendation:
Would like option for all PDF pages to be the same size based on the maximum extents of the biggest gerber file extrema rather than the data extrema on each page for each gerber file. Also, have the same origin for the data on the pages rather than centering the data on the page.
Thanks.
Please consult the SourceForge Discussion page before asking a question.
hi,
when i use the code ,
i cannot find filewrapper.h ?
how do I get this file .
Thanks
Re-factor the engine into a class of its own, with the main function simply controlling the class.
Refer to this comment for motivation.
Make use of the PDF feature where one can show and hide layers on a single page.
See Optional Content Groups (Section 4.10 version 1.5 onwards) in the PDF Reference
Hello. Apologies if this is missing some of the suggested bug report elements but ... any thoughts welcomed.
Attempting to build from fresh clone of master here on Github:
~/src/Gerber2PDF$ make
make -C Engine all
make[1]: Entering directory '/home/moi/src/Gerber2PDF/Engine'
make[1]: *** No rule to make target 'obj_lin/Tools/Deflate/JDeflate.o', needed by 'obj_lin/libEngine.a'. Stop.
make[1]: Leaving directory '/home/moi/src/Gerber2PDF/Engine'
make: *** [Makefile:14: Engine] Error 2
$ uname -a
Linux ubuntu 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
make --version
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
Licence GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.