Promotic

Print - metoda obiektu PmgRoot

Opis:
Druk otwartego panela (lub jego części) na drukarku lub do pliku.
Składnia:
Empty Print(String sOptions)
Parametry:
sOptions(String) Dodatkowe parametry definiująca sposób wydruku (wycinek, itd.).
Jeżeli nie jest ustawione, wtedy zostanie zapisany cały panel z ustawieniem domyślnym. Wartość parametru sOptions jest brana ze statycznego początkowego ustawienia obiektu, patrz Wartość domyślna sFramePars. Dane są tutaj w formacie KeyVal, na przykład "x:0;y:0;dx:300;dy:200;printer:select;printzoom:0;".
"x:nn;" (opcjonalne) - Pozycja x lewego górnego rogu wycinku (w pikselach, domyślnie 0).
"y:nn;" (opcjonalne) - Pozycja y lewego górnego rogu wycinku (w pikselach, domyślnie 0).
"dx:nn;" (opcjonalne) - Wielkość x wycinku (w pikselach, domyślnie 0 = cały panel).
"dy:nn;" (opcjonalne) - Wielkość y wycinku (w pikselach, domyślnie 0 = cały panel).
"printer:xx;" (opcjonalne) - Umożliwia wybrać i ustawić drukarkę do druku.
select (domyślnie) - Przed wydrukiem zostanie wyświetlone okno systemowe do wyboru i ustawienia właściwości drukarki.
default - Druk zostanie wykonany na domyślnej drukarce systemu SO Windows.
file:filepath - Nazwa pliku ze ścieżką (*.bmp, *.png, *.jpg, *.gif lub *.tif), do którego zostanie panel lub jego wycinek zapisany. Rozszerzenie pliku określa format zapisu. Jest zalecane stosowanie ścieżki w składni PROMOTIC - patrz PROMOTIC ścieżka do plików lub folderów. Ostatecznny rozmiar obrazka w pliku zostanie określony przez rozmiar całego panela lub jego wycinka.
{printercfg} - Dane konfiguracyjne konkretnej drukarki uzyskane przy pomocy metody Pm.PrinterCfg. Dane są tutaj w formacie KeyVal.
"printzoom:nn;" (opcjonalne) - Ostatecznny rozmiar obrazka w pliku zostanie określony przez rozmiar całego panela lub jego wycinka.
Notatka:
Metoda ta działa także w Web panelach. Na razie dla Webu nie działa parametr sOptions (jak również druk do pliku).
Przykład1:
Druk całego panela. Druk w zdarzeniu onButtonUp przycisku (obiekt PmgButton) w panelu.
Panel zostanie rozciągnięty na całą kartkę (bez deformacji) i zostanie wyświetlone okno systemowe do wyboru i ustawienia właściwości drukarki.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

pMe.Root.Print("");
Przykład2:
Druk wycinku panela, gdzie wycinek rozpoczyna się na pozycji 100,100 a jego rozmiar jest 300,200. Druk w zdarzeniu onButtonUp przycisku (obiekt PmgButton) w panelu.
Panel zostanie rozciągnięty na całą kartkę (bez deformacji) i zostanie wyświetlone okno systemowe do wyboru i ustawienia właściwości drukarki.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

pMe.Root.Print("x:100;y:100;dx:300;dy:200;");
Przykład3:
Druk całego panela do pliku #temp:Img/panel.png;. Druk w zdarzeniu onButtonUp przycisku (obiekt PmgButton) w panelu.
Ostatecznny rozmiar obrazka w pliku zostanie określony przez rozmiar całego panela lub jego wycinka.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

pMe.Root.Print("printer:file:#temp:Img/panel.png;");
Rozwiązanie odpowiednie dla automatycznego drukowania panela z trendami:
Skrypt wywoływany z odpowiedniego miejsca w aplikacji. Otwarcie panela z parametrem parPrint ustawionym na "tak" w celu drukowania. Otwarty panel musi mieć parametr parPrint ustawiony na Wartość domyślna sViewPars oraz Parametry Pmg obiektu.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oCreator = Pm.CreateView(pMe.Pm("/Workspace"), "/PanelTrend", "pars:{parPrint:yes;}", "target:blank;");
oCreator.Open();
Opóźnione rozpoczęcie drukowania panela i zamknięcie panela. Skrypt w zdarzeniu onPanelStartEnd panela wydruku.
JavaScriptWybierz oraz skopiuj do schowka

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);
}

Historia:
Pm8.03.22: Usunięty błąd: Metoda nie działała podczas otwierania panela.
Pm8.03.00: Wytworzono
© MICROSYS, spol. s r.o.