Я пытаюсь использовать ответы, которые я нашел в этих вопросах:Печать изображения в формате PDF без края с помощью Matlab
- How to save a plot into a PDF file without a large margin around
- Get rid of the white space around matlab figure's pdf output
- External source
напечатать MATLAB сюжет в pdf без наличия белых полей.
Однако, используя этот код:
function saveTightFigure(h, outfilename, orientation)
% SAVETIGHTFIGURE(H,OUTFILENAME) Saves figure H in file OUTFILENAME without
% the white space around it.
%
% by ``a grad student"
% http://tipstrickshowtos.blogspot.com/2010/08/how-to-get-rid-of-white-margin-in.html
% get the current axes
ax = get(h, 'CurrentAxes');
% make it tight
ti = get(ax,'TightInset');
set(ax,'Position',[ti(1) ti(2) 1-ti(3)-ti(1) 1-ti(4)-ti(2)]);
% adjust the papersize
set(ax,'units','centimeters');
pos = get(ax,'Position');
ti = get(ax,'TightInset');
set(h, 'PaperUnits','centimeters');
set(h, 'PaperSize', [pos(3)+ti(1)+ti(3) pos(4)+ti(2)+ti(4)]);
set(h, 'PaperPositionMode', 'manual');
set(h, 'PaperPosition',[0 0 pos(3)+ti(1)+ti(3) pos(4)+ti(2)+ti(4)]);
% save it
%saveas(h,outfilename);
if(orientation == 1)
orient portrait
else
orient landscape
end
print('-dpdf', outfilename);
end
Результаты этого вывода:
Как вы можете увидеть 'PaperSize', кажется, установить не правильно. Любая идея о возможных исправлениях?
Примечание
Если изменить ориентацию между landscape
и portrait
результат один и тот же, просто изображение рубленые по-другому.
Однако, если я сохраню изображение с помощью команды saveas(h,outfilename);
, выдается правильный выход.
Почему это? И в чем разница между двумя инструкциями сохранения?
Я, наконец, сдался, пытаясь распечатать в pdf напрямую и начал печатать в формате eps, который я могу легко преобразовать в pdf при необходимости. – nispio