how to export images to pdf

44 vues (au cours des 30 derniers jours)
Lukas
Lukas le 19 Avr 2014
Réponse apportée : Yash le 26 Août 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 commentaires
Walter Roberson
Walter Roberson le 20 Avr 2014
What did you set() the figure PageSize to be?
Lukas
Lukas le 20 Avr 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...

Connectez-vous pour commenter.

Réponses (1)

Yash
Yash le 26 Août 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!

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by