docs/md/DDE-Commands.md
You can control SumatraPDF with DDE commands.
They are mostly used to use SumatraPDF as a preview tool from e.g. LaTeX editors that generate PDF files.
Single DDE command: [Command(parameter1, parameter2, ..., )]
Multiple DDE commands: [Command1(parameter1, parameter2, ..., )][Command2(...)][...]
You can either use windows api by sending DDE commands to server SUMATRA and topic control. See this code for example of sending DDE command.
Or you can use -dde command-line argument to SumatraPDF.exe e.g. SumatraPDF.exe -dde "[SetView(\"c:\\file.pdf\",\"continuous\",-3)]".
Notice escaping of DDE command string: " and \ with \.
Ver 3.5+: you can send all named commands as DDE:
[<command_id>] e.g. [CmdClose][Open("<filePath>"[,<newWindow>,<focus>,<forceRefresh>])]newWindow is 1 then a new window is created even if the file is already openfocus is 1 then the focus is set to the windowforceRefresh is 1 the command forces the refresh of the file window if already open (useful for files opened over network that don't get file-change notifications)".[Open("c:\file.pdf",1,1,0)][ForwardSearch(["<pdffilepath>",]"<sourcefilepath>",<line>,<column>[,<newwindow>,<setfocus>])]pdffilepath : path to the PDF document (if this path is omitted and the document isn't already open, SumatraPDF won't open it for you)column : this parameter is for future use (just always pass 0)newwindow : 1 to open the document in a new window (even if the file is already opened)focus : 1 to set focus to SumatraPDF's window.[ForwardSearch("c:\file.pdf","c:\folder\source.tex",298,0)][ForwardSearch("c:\folder\source.tex",298,0,0,1)][GotoNamedDest("<pdffilepath>","<destination name>")][GotoNamedDest("c:\file.pdf", "chapter.1")][GotoPage("<pdffilepath>",<page number>)][GotoPage("c:\file.pdf", 37)][SetView("<pdffilepath>","<view mode>",<zoom level>[,<scrollX>,<scrollY>])]view mode:
"single page""facing""book view""continuous""continuous facing""continuous book view"zoom level : either a zoom factor between 8 and 6400 (in percent) or one of -1 (Fit Page), -2 (Fit Width) or -3 (Fit Content)scrollX, scrollY : PDF document (user) coordinates of the point to be visible in the top-left of the window[SetView("c:\file.pdf","continuous",-3)]