try {
//Create pdf document
Pdf pdf = new Pdf();
//Add a section into the pdf document
Section sec1 = pdf.getSections().add();
byte[] fileArray = null;
//=====================================================//
// Get the Image contents into Byte Array
//=====================================================//
try {
fileArray = getBytesFromFile(new File("d:/pdftest/Aspose.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
//Create an image object in the section
aspose.pdf.Image img1 = new aspose.pdf.Image(sec1);
//Add image object into the Paragraphs collection of the section
sec1.getParagraphs().add(img1);
// Set the Image file type
img1.getImageInfo().setImageFileType(ImageFileType.Jpeg);
// create a BinayFileStream Object to hold byte array
BinaryFileStream bstream = new BinaryFileStream(fileArray);
//Set the image object to use BinaySgtream object
img1.getImageInfo().setImageStream(bstream);
//Save the PDF file
pdf.save("d:/pdftest/Image2PDF.pdf");
}catch(java.io.IOException ioe){
System.out.println(ioe.getMessage());
}catch(Exception e){
System.out.println(e.getMessage());
}
}
//=====================================================//
// Method Returns the contents of file in a byte array
//=====================================================//
private static byte[] getBytesFromFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
// Get the size of the file
long length = file.length();
/*
* Ensure that file is not loarger than Integer.MAX_VALUE;
*/
if (length > Integer.MAX_VALUE) {
System.out.println("File is too large to process");
return null;
}
// Create the byte array to hold the data
byte[] bytes = new byte[(int)length];
// Read in the bytes
int offset = 0;
int numRead = 0;
while ( (offset < bytes.length)
&&
( (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) ) {
offset += numRead;
}
// Ensure all the bytes have been read in
if (offset < bytes.length) {
throw new IOException("Could not completely read file " + file.getName());
}
is.close();
return bytes;
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.