1

Téma: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

K otestování zde pro případné zájemce je driver PDF_Plus.f4d : www.formica.cz/files/PDF_Plus20190928.zip .  Funguje (téměř) stejně jako dosavadní PDF.f4d, jen s tím rozdílem, že do stejného adresáře můžete umístit soubor PDF_Plus.ini, který pro každou vrstvu (v samostatné sekci s hlavičkou [Layern], kde n je číslo vrstvy) dovoluje nastavit:

    Description, tj. popis vrstvy, jak se objeví v menu vrstev Acrobat Readeru (pozor, ne všechny české znaky tam lze zobrazit správně);
    Color, tj. RGB barvu tak, jak si ji můžete najít ve Wikipedii, včetně úvodního # (např. #FADA5E dle https://en.wikipedia.org/wiki/Naples_yellow);
    InitiallyHidden, tj. výchozí viditelnost.

Nastavení je nepovinné, žádná vrstva nemusí být v .ini souboru uvedena, a pro každou vrstvu lze zapsat libovolnou kombinaci parametrů (žádný, kterýkoliv, kterékoliv dva nebo všechny tři).  Vrstva 24 značí otvory.  Uvedete-li barvu, má prioritu před veškerým nastavením v menu.  Na pořadí sekcí ani parametrů v nich nezáleží.  Lépe tomu snad lze porozumět z ukázkového souboru, přiloženého do archivu v odkazu.

Zatím první pokusná verze, omezeně užívaná po několik měsíců.  Dotazy, připomínky a komentáře vítány, jako obvykle.

2

Re: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

Pan Och napsal velmi pěknou malou ad hoc aplikaci pro vytváření souborů PDF_Plus.ini, kterou zde dává k disposici uživatelům Formiky.  Z jeho e-mailu si dovoluji citovat:

(...)  A jelikoz tusim, ze nejaka vetsi integrace prijde az za dlouho a budou se nam nejspis hodit i ruzna INI nastaveni (barevny vystup, cernobily vystup, odstiny sede, potlaceni kontrastu specif. vrstev, apod.), napsal jsem tuto aplikaci: Layout PDF_Plus ini Generator.exe - je mozne, ze neco nefunguje jak ma, napravim, klidne muzete poslat ostatnim.

Aplikace je psana bez zbytecnych vychytavek s tim, ze jedina barva, pokud neni nastavena, se do ini neuklada. Jedina nevyhoda aplikace je ted to, ze se neda vratit zpet jednotlive barva na neurcenou, pokud si ji predtim nastavil a ted to chce vratit - to si musi uz uzivatel opravit v ini rucne. U textu nepredpokladam, ze by uzivatel chtel mit nazev nejake z vrstev dan napospas driveru a pojmenuje je vsechny, tedy prazdne pole = vrstva bez jakehokoliv nazvu. Viditelnost vrstvy je pri stisku tlacitka New nastavena na viditelnou, predpokladam, ze vic vrstev bude viditelnych (uzivatele maji problem, ze netusi, ze si vrstvy mohou zapinat a posilam jim doprovodny obrazek).

Tady je na ukázku screenshot, pod ním v něm zobrazený .ini soubor:

https://www.formica.cz/files/forum/Layout_PDF_Plus_ini_Generator.png

[Layer0]
Color=#800080
InitiallyHidden=0
Description=Pomocná vrstva
[Layer1]
Color=#9F8000
InitiallyHidden=0
Description=Obrysy a kresby spodní
[Layer2]
Color=#EABB00
InitiallyHidden=0
Description=Text spodní
[Layer3]
Color=#E0B150
InitiallyHidden=0
Description=Pomocná vrstva
[Layer4]
Color=#E0B150
InitiallyHidden=0
Description=Pomocná vrstva
[Layer5]
Color=#37610E
InitiallyHidden=0
Description=Prokovené frézování
[Layer6]
Color=#FF6000
InitiallyHidden=0
Description=Pájecí šablona spodní
[Layer7]
Color=#366092
InitiallyHidden=0
Description=Obrys + neprokovené frézování
[Layer8]
Color=#008000
InitiallyHidden=0
Description=Nepájivá maska spodní
[Layer9]
Color=#910000
InitiallyHidden=0
Description=Měď spodní
[Layer10]
Color=#910091
InitiallyHidden=0
Description=Měď vnitřní spodní
[Layer11]
Color=#9F8000
InitiallyHidden=0
Description=
[Layer12]
Color=#9F8000
InitiallyHidden=0
Description=
[Layer13]
Color=#009100
InitiallyHidden=0
Description=Měď vnitřní vrchní
[Layer14]
Color=#009191
InitiallyHidden=0
Description=Měď vrchní
[Layer15]
Color=#009100
InitiallyHidden=0
Description=Nepájivá maska vrchní
[Layer16]
Color=#366092
InitiallyHidden=0
Description=Obrys + neprokovené frézování
[Layer17]
Color=#00AEF0
InitiallyHidden=0
Description=Pájecí šablona vrchní
[Layer18]
Color=#37610E
InitiallyHidden=0
Description=Prokovené frézování
[Layer19]
Color=#FF0080
InitiallyHidden=0
Description=Pomocná vrstva
[Layer20]
Color=#E0B150
InitiallyHidden=0
Description=Pomocná vrstva
[Layer21]
Color=#C6C6C6
InitiallyHidden=0
Description=Text vrchní
[Layer22]
Color=#9F9FB0
InitiallyHidden=0
Description=Obrysy a kresby vrchní
[Layer23]
Color=#910091
InitiallyHidden=0
Description=Pomocná vrstva
[Layer24]
Color=#FFFF00
InitiallyHidden=0
Description=Otvory

3 Naposledy upravil: Petr Horský (2020-10-12 20:34:34)

Re: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

Do pokusného generátoru jsem přidal ještě možnost nastavit si barvu pozadí: https://www.formica.cz/files/PDF_Plus20200319.zip .  To bylo motivováno především požadavkem nastavit si v PDF stejné barvy jednotlivých vrstev desky, jaké uživatel má na obrazovce (a které by na světlém pozadí byly špatně čitelné).  S pozadím lze zacházet jako s vrstvou číslo 25.

O vrstvu pozadí pan Och také rozšířil svoji aplikaci, kterou opět dává všem zájemcům k disposici: Layout PDF_Plus ini Generator.exe

Zde je ukázka takto generovaného výstupu: https://www.formica.cz/ukazky/Papouch201909.pdf .  Možnost interaktivního za- a vypínání jednotlivých vrstev se nemusí objevit např. ve webových prohlížečích, pravděpodobně bude třeba Acrobat Reader.  (Ten ve svém menu vrstev též na slově Měď demonstruje problémy s češtinou.)

(Aplikace pana Ocha byla dnes aktualizována.)

4

Re: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

V programu FreePDF se interaktivní menu zobrazuje.
Nemůže být problém s češtinou v tom, že Formica generuje slovo "Měď " v ASCII znakové sadě (0x4D, 0xEC, 0xEF) a PDFreadery očekávají text v UTF8 / Unicode?

5

Re: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

Předem se omlouvám za vágní, nedostatečně podloženou odpověď.  Je to už zhruba 12 let, co jsem tzv. Optional Content a to menu vrstev do generátoru PDF doprogramoval, mezitím dávno zapomněl všechny detaily, a teď si jen matně vybavuji, co jsem se tehdy dočetl.

Ivo Löffler napsal:

Nemůže být problém s češtinou v tom, že Formica generuje slovo "Měď " v ASCII znakové sadě (0x4D, 0xEC, 0xEF) a PDFreadery očekávají text v UTF8 / Unicode?

Což o to...  V takovém případě by asi stačilo soubor PDF_Plus.ini otevřít třeba Notepadem a pak jej uložit s kódováním Unicode.  Zkusil jsem, ale k úspěchu to nevedlo.

Definice formátu PDF předpokládá, že pro to menu vrstev lze samostatně nastavovat kódovou stránku.  (Zde by se tedy hodila Windows-1250.)  Jenže jak ji zapnout, to není zas tak jednoduché, zřejmě se pro to musí vytvořit nový objekt nebo něco podobně netriviálního, což také byl důvod, proč jsem to tehdy nedělal.

6

Re: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

OK, myslím si, že bez češtiny se obejdeme :-).
Bylo by možné se zamyslet nad variantou mít v PDF kromě vrstvy Holes i vrstvu Mirror Holes? Když si chci prohlédnout stranu spojů, tak mi nesedí s vrtáním proti straně součástek.

7 Naposledy upravil: Petr Horský (2020-04-08 11:48:34)

Re: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

Ivo Löffler napsal:

OK, myslím si, že bez češtiny se obejdeme :-).

Dobrý den, v rámci prokrastinace jsem se díval do specifikace PDF formátu. Ta uvádí, že stringy (to je i popis vrstvy) mohou být v kódování "PDFDocEncoding"-nemá všechnu diakritiku nebo  "UTF-16BE with a leading byte-order marker (FEFF)". Zkoušel jsem uložit INI do UTF-16, ale fungovalo to jen částečně.
Zkusil jsem i generované PDF otevřít v Acrobatu a editovat název vrstvy na "ěščřžýáíé". A skutečně Acrobat přidal do souboru označení vrstvy ve fromátu UTF-16BE s předznačením FEFF.
Takže by PDF generátor musel převádět a ukládat jména vrstev z 1250 (výchozí kódování INI) do UTF-16BE.

Ivo Löffler napsal:

Bylo by možné se zamyslet nad variantou mít v PDF kromě vrstvy Holes i vrstvu Mirror Holes? Když si chci prohlédnout stranu spojů, tak mi nesedí s vrtáním proti straně součástek.

Standardně vytvářím 2 stránková PDF (pohled TOP a BOTTOM) - tj. v nastavení generátoru používám side A a side B a otvory se generují pro obě strany správně.
Stranu A mám zrcadlově v ose X, stranu B bez zrcadlení a otvory jsou vygenerovány v obou případech OK (na A jsou zrcadleny).
Takže pokud chcete "průhled" přes desku, stačí dát všechny chtěné vrstvy na jednu stranu např. "side B" a vypnout dvoustránkové generování (two pages disabled). Tím je vše konzistentní (vrstvy i vrtání) a je jedno jestli vše zrcadlíte nebo ne. Dal bych sem ukázku, ale nemám teď nápad, kam jednoduše uložit sdílené soubory (na svůj server kvůli spambotům nechci).

Ukázkové soubory zaslané panem Krečmerem jsem vystavil zde: pdf-pohledy.zip

8

Re: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

Krecmer napsal:

Takže by PDF generátor musel převádět a ukládat jména vrstev z 1250 (výchozí kódování INI) do UTF-16BE.

Verze generátoru PDF dovolující v menu vrstev užít češtinu je teď zde: www.formica.cz/files/PDF_Plus20200409.zip.  Předpokládá, že .ini soubor bude mít kódování Windows-1250.

Panu Krečmerovi děkuji za vydatnou pomoc s testováním různých variant kódování.  (Mimochodem, získat češtinu správnou zcela kromě znaku „č“ stálo zhruba stejně práce jako to „č“ posléze doplnit.)

9 Naposledy upravil: Petr Horský (2020-04-11 20:12:37)

Re: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

Krecmer napsal:

Standardně vytvářím 2 stránková PDF (pohled TOP a BOTTOM) - tj. v nastavení generátoru používám side A a side B a otvory se generují pro obě strany správně.
Stranu A mám zrcadlově v ose X, stranu B bez zrcadlení a otvory jsou vygenerovány v obou případech OK (na A jsou zrcadleny).
Takže pokud chcete "průhled" přes desku, stačí dát všechny chtěné vrstvy na jednu stranu např. "side B" a vypnout dvoustránkové generování (two pages disabled). Tím je vše konzistentní (vrstvy i vrtání) a je jedno jestli vše zrcadlíte nebo ne.

Stažené konfigurace mi bohužel nefungovaly, jednoduchým porovnáním zaslaných a mých PDF.f4c souborů jsem našel parametr, který byl rozdílný. Po jeho nastavení na moji hodnotu je už generování v pořádku. Děkuji za tip.
IvoL

A zde jsou konfigurační soubory, které užil pan Löffler: https://www.formica.cz/files/forum/PDF_Plus_A.f4c.zip

10

Re: PDF_Plus.f4d — možnosti generování PDF rozšířené .ini souborem

Pan Och opravil generování parametrů pro pozadí ve své aplikaci Layout PDF_Plus ini Generator.exe.