Promotic

Print - metoda objektu PmgRoot

Popis:
Tisk otevřeného obrazu (nebo jeho části) na tiskárnu nebo do souboru.
Syntaxe:
Empty Print(String sOptions)
Parametry:
sOptions(String) Dodatečné parametry definující způsob tisku (výřez, atd.).
Pokud není nastaveno, pak se tiskne celý obraz s výchozím nastavením. Hodnota parametru sOptions se bere i z výchozího statického nastavení objektu, viz Výchozí hodnota sFramePars. Údaje jsou zde ve formátu KeyVal, například "x:0;y:0;dx:300;dy:200;printer:select;printzoom:0;".
"x:nn;" (nepovinné) - Pozice x levého horního rohu výřezu (v pixelech, přednastaveno 0).
"y:nn;" (nepovinné) - Pozice y levého horního rohu výřezu (v pixelech, přednastaveno 0).
"dx:nn;" (nepovinné) - Velikost x výřezu (v pixelech, přednastaveno 0 = celý obraz).
"dy:nn;" (nepovinné) - Velikost y výřezu (v pixelech, přednastaveno 0 = celý obraz).
"printer:xx;" (nepovinné) - Umožňuje vybrat a nastavit tiskárnu pro tisk.
select (přednastaveno) - Při tisku bude zobrazeno okno pro výběr a nastavení vlastností tiskárny.
default - Tisk se provede na implicitní tiskárně OS Windows.
file:filepath - Název souboru s cestou (*.bmp, *.png, *.jpg, *.gif nebo *.tif), do kterého bude obraz nebo jeho výřez uložen. Přípona souboru určuje formát uložení. Je doporučeno použít cestu v syntaxi PROMOTIC - viz PROMOTIC cesta k souborům nebo složkám. Výsledná velikost obrázku v souboru bude dána velikostí celého obrazu nebo velikostí výřezu.
{printercfg} - Konfigurační data konkrétní tiskárny získané metodou Pm.PrinterCfg. Údaje jsou zde ve formátu KeyVal.
"printzoom:nn;" (nepovinné) - Výsledná velikost obrázku v souboru bude dána velikostí celého obrazu nebo velikostí výřezu.
Poznámka:
Tato metoda je funkční i ve Web obrazech. Zatím však pro Web není funkční parametr sOptions (ani tisk do souboru).
Příklad1:
Tisk celého obrazu. Tisk v události onButtonUp tlačítka (objekt PmgButton) v obrazu.
Obraz bude roztažen přes celý papír (bez zdeformování) a bude zobrazeno okno pro výběr a nastavení vlastností tiskárny.
JavaScriptVBScriptVyber a zkopíruj do schránky

pMe.Root.Print("");
Příklad2:
Tisk výřezu části obrazu, kde výřez začíná na pozici 100,100 a jeho velikost je 300,200. Tisk v události onButtonUp tlačítka (objekt PmgButton) v obrazu.
Obraz bude roztažen přes celý papír (bez zdeformování) a bude zobrazeno okno pro výběr a nastavení vlastností tiskárny.
JavaScriptVBScriptVyber a zkopíruj do schránky

pMe.Root.Print("x:100;y:100;dx:300;dy:200;");
Příklad3:
Tisk celého obrazu do souboru #temp:Img/panel.png;. Tisk v události onButtonUp tlačítka (objekt PmgButton) v obrazu.
Výsledná velikost obrázku v souboru bude dána velikostí celého obrazu nebo velikostí výřezu.
JavaScriptVBScriptVyber a zkopíruj do schránky

pMe.Root.Print("printer:file:#temp:Img/panel.png;");
Řešení vhodné pro automatický tisk obrazu s trendy:
Skript volaný z vhodného mista v aplikaci. Otevření obrazu s nastavením parametru parPrint s hodnotou "yes" pro tisk. Otevíraný obraz musí mít parametr parPrint nastaven v Výchozí hodnota sViewPars a Parametry Pmg objektu.
JavaScriptVBScriptVyber a zkopíruj do schránky

var oCreator = Pm.CreateView(pMe.Pm("/Workspace"), "/PanelTrend", "pars:{parPrint:yes;}", "target:blank;");
oCreator.Open();
Opožděné spuštení tisku obrazu a zavření obrazu. Skript v události onPanelStartEnd tiskového obrazu.
JavaScriptVyber a zkopíruj do schránky

if (pMe.Root.GetPar("parPrint") == "yes")
{
function OnPrint()
{
pMe.Root.Print("printer:default;");
pMe.Root.AddEventTimer(2000, 1, pMe.GetPathName(), OnClose);
}
function OnClose()
{
pMe.Root.Close("");
}
pMe.Root.AddEventTimer(2000, 1, pMe.GetPathName(), OnPrint);
}

Historie:
Pm8.03.22: Opravená chyba: Metoda nefungovala během otevírání obrazu.
Pm8.03.00: Vytvořeno
© MICROSYS, spol. s r.o.