does winopen work on Unix platforms

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?
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.

Categories

Products

Release

R2019b

Asked:

on 20 May 2020

Commented:

on 11 Feb 2021

Community Treasure Hunt

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

Start Hunting!