how to export images to pdf

45 visualizaciones (últimos 30 días)
Lukas
Lukas el 19 de Abr. de 2014
Respondida: Yash el 26 de Ag. de 2024
heloo
i need to export a lot of images to pdf file. i tried this solutions but it is bad.
for a=1:2
h=subplot(2,1,a), imshow(absKoniec{a})
%in absKoniec are more then 2 images(pages of book), this is only example
kurnik = figure(1)
end
saveas(h,'hokus.pdf')
hgexport(kurnik, 'figure1.pdf', hgexport('factorystyle'), 'Format', 'pdf')
output is here:
images in pdf and in figure are too small(background is too big).so it is necessary to zoom in pdf. And how to do it, if i want to have one image on every single page of pdf (it is possible)? help me pls...
  2 comentarios
Walter Roberson
Walter Roberson el 20 de Abr. de 2014
What did you set() the figure PageSize to be?
Lukas
Lukas el 20 de Abr. de 2014
do you thing this:
for a=1:30
h=subplot(30,1,a), imshow(absKoniec{a})
kurnik = figure(1)
end
%saveas(h,'hokus.pdf')
%hgexport(kurnik, 'figure1.pdf', hgexport('factorystyle'), 'Format', 'pdf')
%A = hgload('myFigure.fig');
% set desired output size
set(kurnik, 'Units','centimeters')
height = 15;
width = 4;
% the last two parameters of 'Position' define the figure size
set(kurnik, 'Position',[0 0 width height],...
'PaperSize',[width height],...
'PaperPositionMode','auto',...
'InvertHardcopy', 'off',...
'Renderer','painters'... %recommended if there are no alphamaps
);
%saveas(kurnik,'printout','pdf')
hgexport(kurnik, 'figure1.pdf', hgexport('factorystyle'), 'Format', 'pdf')
but if there(in figure) are many images, i need strong zoom to see images...

Iniciar sesión para comentar.

Respuestas (1)

Yash
Yash el 26 de Ag. de 2024
Hi Lukas,
As I can understand, you want a pdf with each page as a given image in the folder. Instead of using the "hgexport" function, you can use the "exportgraphics" function to get the pdf. Given below is an example for the same:
% Specify the number of images
numImages = 10;
% Initialize a cell array to store the image file names
imageFiles = cell(numImages, 1);
for i = 1:numImages
imageFiles{i} = sprintf('image_%d.jpg', i); % Adjust the file extension if needed
end
% Create a new PDF
outputPDF = 'output.pdf';
% Create a figure for displaying images
hFig = figure('Visible', 'off');
% Loop over each image and add it to the PDF
for i = 1:numImages
% Read the image
img = imread(imageFiles{i});
% Display the image
imshow(img, 'Border', 'tight');
% Adjust the figure size to fit the image
truesize(hFig);
% Save the current figure as a PDF page
if i == 1
% Use 'append' option to create a new PDF
exportgraphics(hFig, outputPDF, 'Append', false, 'ContentType', 'vector');
else
% Append to the existing PDF
exportgraphics(hFig, outputPDF, 'Append', true, 'ContentType', 'vector');
end
end
% Close the figure
close(hFig);
Kindly refer to the following documentation for the "exportgraphics" function: https://www.mathworks.com/help/matlab/ref/exportgraphics.html
I hope this helps!

Categorías

Más información sobre Convert Image Type en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by