1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-06-22 22:17:48 +02:00

Linux : Implemented printing in MiniBrowser demo (issue #337)

This commit is contained in:
Salvador Diaz Fau
2021-02-08 18:39:07 +01:00
parent e45839bb90
commit e7e7cb80c1
3 changed files with 121 additions and 82 deletions

View File

@ -3,14 +3,14 @@
<ProjectSession> <ProjectSession>
<Version Value="11"/> <Version Value="11"/>
<BuildModes Active="Default"/> <BuildModes Active="Default"/>
<Units Count="48"> <Units Count="52">
<Unit0> <Unit0>
<Filename Value="MiniBrowser.lpr"/> <Filename Value="MiniBrowser.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="26"/> <TopLine Value="26"/>
<CursorPos X="62" Y="52"/> <CursorPos X="62" Y="52"/>
<UsageCount Value="33"/> <UsageCount Value="38"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
@ -19,14 +19,14 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<TopLine Value="780"/> <TopLine Value="912"/>
<CursorPos X="3" Y="782"/> <CursorPos X="79" Y="958"/>
<FoldState Value=" TJnR1{3122{"/> <FoldState Value=" TJnR1{3122{"/>
<UsageCount Value="33"/> <UsageCount Value="38"/>
<Bookmarks Count="3"> <Bookmarks Count="3">
<Item0 X="66" Y="1049" ID="1"/> <Item0 Y="937" ID="9"/>
<Item1 Y="936" ID="9"/> <Item1 X="12" Y="619" ID="8"/>
<Item2 X="12" Y="618" ID="8"/> <Item2 Y="979" ID="1"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
@ -37,7 +37,7 @@
<UnitName Value="Interfaces"/> <UnitName Value="Interfaces"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<CursorPos X="11" Y="9"/> <CursorPos X="11" Y="9"/>
<UsageCount Value="33"/> <UsageCount Value="38"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="uminibrowser.pas"/> <Filename Value="uminibrowser.pas"/>
@ -118,10 +118,10 @@
</Unit11> </Unit11>
<Unit12> <Unit12>
<Filename Value="../../../source/uCEFApplicationCore.pas"/> <Filename Value="../../../source/uCEFApplicationCore.pas"/>
<EditorIndex Value="7"/> <EditorIndex Value="10"/>
<TopLine Value="545"/> <TopLine Value="2023"/>
<CursorPos Y="570"/> <CursorPos X="90" Y="2050"/>
<UsageCount Value="15"/> <UsageCount Value="17"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit12> </Unit12>
<Unit13> <Unit13>
@ -167,10 +167,10 @@
<Unit19> <Unit19>
<Filename Value="/usr/share/lazarus/2.0.10/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas"/>
<UnitName Value="LazGtk3"/> <UnitName Value="LazGtk3"/>
<EditorIndex Value="2"/> <EditorIndex Value="11"/>
<TopLine Value="12147"/> <TopLine Value="8267"/>
<CursorPos X="10" Y="12129"/> <CursorPos X="89" Y="8308"/>
<UsageCount Value="10"/> <UsageCount Value="12"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit19> </Unit19>
<Unit20> <Unit20>
@ -285,10 +285,10 @@
</Unit35> </Unit35>
<Unit36> <Unit36>
<Filename Value="../../../source/uCEFInterfaces.pas"/> <Filename Value="../../../source/uCEFInterfaces.pas"/>
<EditorIndex Value="5"/> <EditorIndex Value="8"/>
<TopLine Value="2274"/> <TopLine Value="2274"/>
<CursorPos X="53" Y="2312"/> <CursorPos X="53" Y="2312"/>
<UsageCount Value="13"/> <UsageCount Value="15"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit36> </Unit36>
<Unit37> <Unit37>
@ -312,9 +312,9 @@
</Unit39> </Unit39>
<Unit40> <Unit40>
<Filename Value="../../../source/uCEFPrintJobCallback.pas"/> <Filename Value="../../../source/uCEFPrintJobCallback.pas"/>
<EditorIndex Value="6"/> <EditorIndex Value="9"/>
<TopLine Value="22"/> <TopLine Value="22"/>
<UsageCount Value="13"/> <UsageCount Value="15"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit40> </Unit40>
<Unit41> <Unit41>
@ -327,10 +327,10 @@
<Unit42> <Unit42>
<Filename Value="/usr/share/lazarus/2.0.10/lcl/printers.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/lcl/printers.pas"/>
<UnitName Value="Printers"/> <UnitName Value="Printers"/>
<EditorIndex Value="1"/> <EditorIndex Value="2"/>
<TopLine Value="270"/> <TopLine Value="209"/>
<CursorPos X="23" Y="303"/> <CursorPos X="6" Y="190"/>
<UsageCount Value="12"/> <UsageCount Value="14"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit42> </Unit42>
<Unit43> <Unit43>
@ -349,19 +349,19 @@
<Unit45> <Unit45>
<Filename Value="/usr/share/lazarus/2.0.10/components/printers/printersdlgs.pp"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/printersdlgs.pp"/>
<UnitName Value="PrintersDlgs"/> <UnitName Value="PrintersDlgs"/>
<EditorIndex Value="3"/> <EditorIndex Value="6"/>
<TopLine Value="90"/> <TopLine Value="90"/>
<CursorPos X="14" Y="128"/> <CursorPos X="14" Y="128"/>
<UsageCount Value="11"/> <UsageCount Value="13"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit45> </Unit45>
<Unit46> <Unit46>
<Filename Value="/usr/share/lazarus/2.0.10/lcl/dialogs.pp"/> <Filename Value="/usr/share/lazarus/2.0.10/lcl/dialogs.pp"/>
<UnitName Value="Dialogs"/> <UnitName Value="Dialogs"/>
<EditorIndex Value="4"/> <EditorIndex Value="7"/>
<TopLine Value="936"/> <TopLine Value="489"/>
<CursorPos X="3" Y="961"/> <CursorPos X="3" Y="506"/>
<UsageCount Value="11"/> <UsageCount Value="13"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit46> </Unit46>
<Unit47> <Unit47>
@ -371,129 +371,160 @@
<CursorPos X="16" Y="668"/> <CursorPos X="16" Y="668"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit47> </Unit47>
<Unit48>
<Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters_h.inc"/>
<EditorIndex Value="3"/>
<TopLine Value="105"/>
<CursorPos X="14" Y="170"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit48>
<Unit49>
<Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters.inc"/>
<EditorIndex Value="4"/>
<TopLine Value="467"/>
<CursorPos X="72" Y="491"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit49>
<Unit50>
<Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsdyn.pp"/>
<EditorIndex Value="5"/>
<TopLine Value="1117"/>
<CursorPos X="16" Y="1140"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit50>
<Unit51>
<Filename Value="/usr/share/lazarus/2.0.10/components/printers/osprinters.pas"/>
<UnitName Value="OSPrinters"/>
<EditorIndex Value="1"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit51>
</Units> </Units>
<OtherDefines Count="1"> <OtherDefines Count="1">
<Define0 Value="UseCThreads"/> <Define0 Value="UseCThreads"/>
</OtherDefines> </OtherDefines>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters_h.inc"/>
<Caret Line="932" Column="22" TopLine="909"/> <Caret Line="170" Column="14" TopLine="131"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters.inc"/>
<Caret Line="935" Column="57" TopLine="909"/> <Caret Line="497" Column="80" TopLine="470"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="59" Column="5" TopLine="33"/> <Caret Line="189" Column="27" TopLine="171"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="/usr/share/lazarus/2.0.10/components/printers/printersdlgs.pp"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters_h.inc"/>
<Caret Line="114" Column="3" TopLine="82"/> <Caret Line="77" Column="51" TopLine="68"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="/usr/share/lazarus/2.0.10/lcl/dialogs.pp"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters.inc"/>
<Caret Line="506" Column="3" TopLine="492"/> <Caret Line="29" Column="35"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters_h.inc"/>
<Caret Line="59" Column="5" TopLine="33"/> <Caret Line="170" Column="36" TopLine="131"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters.inc"/>
<Caret Line="938" Column="50" TopLine="904"/> <Caret Line="475" Column="3" TopLine="470"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="940" Column="82" TopLine="904"/> <Caret Line="201" Column="27" TopLine="165"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="1037" TopLine="1001"/> <Caret Line="1091" Column="33" TopLine="1058"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="945" Column="9" TopLine="919"/> <Caret Line="226" Column="22" TopLine="203"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="/usr/share/lazarus/2.0.10/components/printers/printersdlgs.pp"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="128" Column="14" TopLine="102"/> <Caret Line="1006" Column="24" TopLine="967"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="/usr/share/lazarus/2.0.10/lcl/dialogs.pp"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="506" Column="3" TopLine="486"/> <Caret Line="187" Column="15" TopLine="166"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="945" Column="9" TopLine="919"/> <Caret Line="981" Column="23" TopLine="975"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="1028" Column="25" TopLine="1008"/> <Caret Line="147" Column="25" TopLine="139"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="927" Column="16" TopLine="904"/> <Caret Line="981" Column="46" TopLine="955"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters.inc"/>
<Caret Line="1038" TopLine="1010"/> <Caret Line="474" Column="33" TopLine="461"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="976" Column="57" TopLine="936"/> <Caret Line="48" Column="76" TopLine="22"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="/usr/share/lazarus/2.0.10/components/printers/printersdlgs.pp"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/osprinters.pas"/>
<Caret Line="128" Column="14" TopLine="102"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="/usr/share/lazarus/2.0.10/lcl/dialogs.pp"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters.inc"/>
<Caret Line="518" Column="25" TopLine="489"/> <Caret Line="489" Column="57" TopLine="461"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="/usr/share/lazarus/2.0.10/lcl/dialogs.pp"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters_h.inc"/>
<Caret Line="961" Column="3" TopLine="936"/> <Caret Line="170" Column="14" TopLine="132"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="976" Column="57" TopLine="936"/> <Caret Line="981" Column="36" TopLine="956"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="620" Column="7" TopLine="573"/> <Caret Line="146" Column="26" TopLine="125"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="979" Column="54" TopLine="915"/> <Caret Line="202" Column="24" TopLine="176"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="1089" Column="53" TopLine="1053"/> <Caret Line="1103" Column="3" TopLine="1062"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="620" Column="48" TopLine="614"/> <Caret Line="189" Column="15" TopLine="181"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters.inc"/>
<Caret Line="54" Column="84" TopLine="22"/> <Caret Line="486" Column="74" TopLine="467"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="/usr/share/lazarus/2.0.10/lcl/printers.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="983" Column="62" TopLine="933"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/unix/cupsprinters.inc"/>
<Caret Line="54" Column="84" TopLine="22"/> <Caret Line="491" Column="72" TopLine="467"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="uMiniBrowser.pas"/>
<Caret Line="624" TopLine="576"/> <Caret Line="937" Column="44" TopLine="923"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="uMiniBrowser.pas"/> <Filename Value="/usr/share/lazarus/2.0.10/components/printers/printersdlgs.pp"/>
<Caret Line="436" Column="74" TopLine="413"/> <Caret Line="128" Column="14" TopLine="90"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
<RunParams> <RunParams>

View File

@ -45,7 +45,7 @@ interface
uses uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
Menus, ComCtrls, SyncObjs, LMessages, Printers, PrintersDlgs, Menus, ComCtrls, SyncObjs, LMessages, Printers, PrintersDlgs, osprinters,
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes,
uCEFConstants, uCEFWinControl, uCEFChromiumEvents, uCEFLinkedWindowParent; uCEFConstants, uCEFWinControl, uCEFChromiumEvents, uCEFLinkedWindowParent;
@ -273,7 +273,7 @@ begin
GlobalCEFApp.cache := 'cache'; GlobalCEFApp.cache := 'cache';
GlobalCEFApp.LogFile := 'debug.log'; GlobalCEFApp.LogFile := 'debug.log';
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO; GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
GlobalCEFApp.EnablePrintPreview := True; //GlobalCEFApp.EnablePrintPreview := True;
GlobalCEFApp.OnPrintStart := @GlobalCEFApp_OnPrintStart; GlobalCEFApp.OnPrintStart := @GlobalCEFApp_OnPrintStart;
GlobalCEFApp.OnPrintSettings := @GlobalCEFApp_OnPrintSettings; GlobalCEFApp.OnPrintSettings := @GlobalCEFApp_OnPrintSettings;
GlobalCEFApp.OnPrintDialog := @GlobalCEFApp_OnPrintDialog; GlobalCEFApp.OnPrintDialog := @GlobalCEFApp_OnPrintDialog;
@ -615,6 +615,7 @@ begin
begin begin
FPrintJobCallback.Cont(); FPrintJobCallback.Cont();
FPrintJobCallback := nil; FPrintJobCallback := nil;
Timer1.Enabled := False;
end; end;
end end
else else
@ -975,8 +976,15 @@ end;
procedure TMiniBrowserFrm.BrowserPrintJobStartedMsg(Data: PtrInt); procedure TMiniBrowserFrm.BrowserPrintJobStartedMsg(Data: PtrInt);
begin begin
StatusBar1.Panels[0].Text := 'Print job started'; TCUPSPrinter(Printer).Title := FPrintJobDocumentName;
Timer1.Enabled := True;
if (TCUPSPrinter(Printer).PrintFile(FPrintJobPDFFilePath) >= 0) then
begin
StatusBar1.Panels[0].Text := 'Print job started';
Timer1.Enabled := True;
end
else
StatusBar1.Panels[0].Text := TCUPSPrinter(Printer).GetLastError;
end; end;
procedure TMiniBrowserFrm.BrowserPrintStartMsg(Data: PtrInt); procedure TMiniBrowserFrm.BrowserPrintStartMsg(Data: PtrInt);
@ -986,7 +994,7 @@ end;
procedure TMiniBrowserFrm.BrowserPrintResetMsg(Data: PtrInt); procedure TMiniBrowserFrm.BrowserPrintResetMsg(Data: PtrInt);
begin begin
StatusBar1.Panels[0].Text := 'Print reset'; StatusBar1.Panels[0].Text := '';
end; end;
procedure TMiniBrowserFrm.SendCompMessage(aMsg : cardinal; Data: PtrInt); procedure TMiniBrowserFrm.SendCompMessage(aMsg : cardinal; Data: PtrInt);

View File

@ -2,7 +2,7 @@
"UpdateLazPackages" : [ "UpdateLazPackages" : [
{ {
"ForceNotify" : true, "ForceNotify" : true,
"InternalVersion" : 252, "InternalVersion" : 253,
"Name" : "cef4delphi_lazarus.lpk", "Name" : "cef4delphi_lazarus.lpk",
"Version" : "88.2.4.0" "Version" : "88.2.4.0"
} }