V této části neformálního a nepravidelného seriálu o návrhovém systému Formica se podíváme na jeden méně obvyklý rys jeho generátoru PDF.
Výstup v PDF je dnes možný snad z každého návrhového systému pro plošné spoje; pokud by nebyl obsažen přímo v něm, lze jeho tiskový výstup přesměrovat do generátoru PDF některé třetí strany. Jenže právě toto jaksi implikuje statickou povahu takovýchto výstupních souborů, odpovídajících vytištěným stránkám.
Systém Formica generuje výstup PDF z plošného spoje sám, generátorem naprogramovaným „from scratch“, což dovoluje využít vlastnosti, která byla do PDF přidána ve verzi 1.5 (tj. do formátu čitelného Adobe Acrobat Readerem verze 6 nebo novější): takzvaného optional contentu, tedy částí dokumentu a jeho jednotlivých stránek, jejichž viditelnost může v Acrobat Readeru být řízena z jeho menu Vrstvy (resp. Layers) zobrazovaného vlevo od dokumentu (ale také ze samotného dokumentu, v něm vykreslenými tlačítky). Optional content navíc může být i vnitřně hierarchizovaný, avšak plošným spojům docela přirozeně odpovídá obyčejná jednovrstvá hierarchie, v níž lze viditelnost každé vrstvy vypínat a zapínat nezávisle, z menu Vrstvy.
Obr. 1 Ukázka volby aktuálně zobrazených vrstev PDF v menu Vrstvy Acrobat Readeru verze 10
Pro návrhový systém Formica je generátor interaktivních PDF k disposici od roku 2008. Nebylo by zřejmě účelné zde popisovat detaily jeho ovládání (k tomu případní zájemci najdou více v diskusním fóru [1]), možná však stojí za to zdůraznit výsledek, efektní i efektivní zároveň: Desku lze dokumentovat i jediným PDF souborem, v němž si ale jeho příjemce může interaktivně přepínat libovolné kombinace vrstev a zobrazit tak to, co jej právě zajímá, aniž by jej rušily ostatní vrstvy nebo mu dokonce zastiňovaly ty, které si přeje vidět. Příklady různých vzhledů téhož „živého“ souboru vyplývají z obrázků.
Obr. 2 Dvě z mnoha možných zobrazení jiného PDF souboru: horní vodivá vrstva, potisk a otvory (nahoře); dolní vodivá vrstva, obrysy součástek a reference (dole)
Z hlediska programátora nešlo o nic složitého: Jádrem dokumentu v PDF jsou popisy jednotlivých stránek, každá je tvořená proudem (streamem) příkazů v jazyce, který se strukturou podobá podmnožině PostScriptu. Do tohoto proudu stačí zařadit značky vymezující začátek a konec jednotlivých objektů optional contentu, zde tedy začátky a konce popisu jednotlivých vrstev DPS. Značky mají syntax běžných příkazů a obsahují identifikátor, na který se v jiné sekci PDF souboru odkazuje popis menu. Předepsat, které vrstvy desky budou implicitně zobrazovány ihned při otevření souboru, či zda se v té chvíli samo rozvine menu Vrstvy, jsou už celkem drobnosti [2]. Naopak vzájemné překrývání zobrazovaných vrstev (které Formica ve verzi 4.40 standardně generuje v pořadí „zevnitř desky ven“), tj. jejich Z-order, v již vytvořeném PDF nelze měnit. Užití optional contentu prodlouží PDF soubory pouze minimálně: např. ukázkový z obr. 2 je delší jen o zhruba 2,5 KB oproti případu, kdy by tytéž vrstvy volitelné nebyly.
[2] PDF Reference, Fourth Edition. Adobe® Portable Document Format Version 1.5, Adobe Systems Inc., 2003