does winopen work on Unix platforms

8 views (last 30 days)
Jonathan
Jonathan on 20 May 2020
Commented: Steven Lord on 11 Feb 2021
I have a MATLAB application I have written on a Windows10 system which I will compile for Windows, Mac, and Unix. I am using the winopen function in my code which works in my Wondows10 platform. Will it compile OK for Windows use and will it also work for the Mac and Unix compilations?

Answers (2)

Jonathan
Jonathan on 11 Feb 2021
Eventually found an answer to this problem, with some help for MATLAB, which was to open a PDF document:
% Open the PDF in the system Adobe application
if (ispc)
winopen(pdfPath);
elseif ismac
cmdToExecute = ['open ' pdfPath];
[status, path] = system(cmdToExecute); %#ok<ASGLU>
else
% using xdg-open to open a file in Linux. Some Linux systems might not have
% xdg-open .In that case displaying as error with the file path
cmdToExecute = ['xdg-open ' pdfPath];
[status, path] = system(cmdToExecute); %#ok<ASGLU>
end

Steven Lord
Steven Lord on 20 May 2020
winopen will throw an error on non-Windows platforms.
  2 Comments
Jan Prochazka
Jan Prochazka on 11 Feb 2021
Edited: Jan Prochazka on 11 Feb 2021
Is there alternative that will not throw an error but open the file?
Steven Lord
Steven Lord on 11 Feb 2021
It depends on the file format. If MATLAB knows how to open a specific file format you could use the open function. If MATLAB does not know how to open your specific file format you could extend the functionality of open by writing your own file handling function as described in the documentation page for the open function.
If like Jonathan you're trying to open a PDF that is one of the extensions listed in the description of the name input argument as being supported.

Sign in to comment.

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!