We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Cannot able to insert image in Document

I'm trying to run the program created in class on "Join images into a PDF document using Aspose.Words for Java" and is giving error that is not the image file.

Error: Exception in thread "main" java.io.FileNotFoundException: Can not find file: C: \ Users \ rramos \ Desktop \ Infobase \ Automation \ Word \ 1-EmpresaFilial.jpg.
at asposewobfuscated.zz9U. <init> (Unknown Source)
at asposewobfuscated.zz9W.zzXm (Unknown Source)
at asposewobfuscated.zzKT.zzQ (Unknown Source)
at asposewobfuscated.zzKT.zzYZ (Unknown Source)
at com.aspose.words.DocumentBuilder.insertImage (Unknown Source)
at Program.addPage (Program.java:53)
at Program.main (Program.java:22)


What do I need to do?

Program:

import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.HorizontalAlignment;
import com.aspose.words.PageSetup;
import com.aspose.words.RelativeHorizontalPosition;
import com.aspose.words.RelativeVerticalPosition;
import com.aspose.words.Shape;
import com.aspose.words.WrapType;

public class Program {

public static void main(String[] args) throws Exception
{
//Create a blank document in memory. Criar um documento em branco na memória.
Document doc = new Document();

//We will use this document builder object to simplify document construction. Vamos usar esse objeto construtor de documento para simplificar a construção documento
DocumentBuilder builder = new DocumentBuilder(doc);

//I want to add several images to the document, one image per page. Eu quero adicionar várias imagens à uma imagem por página documento,.
//Let's create a method for this. Vamos criar um método para isso.
addPage(builder, "C:\\Users\\rramos\\Desktop\\Infobase\\Automacao\\Word\\1-EmpresaFilial.jpg");
addPage(builder, "C:\\Users\\rramos\\Desktop\\Infobase\\Automacao\\Word\\2-InformacaoEmpresa.jpg");

//I don't like the extra last page. It is caused by one final paragraph that starts from new page. Eu não gosto de a última página extra. É causada por um parágrafo final que começa a partir de nova página.
//We don't need it. Nós não precisamos dele.
doc.getFirstSection().getBody().getLastParagraph().remove();


// Let's check how it works right now. Vamos verificar como ele funciona agora.
doc.save("C:\\Users\\rramos\\Desktop\\Infobase\\Fidelity\\Scripts\\Cenarios\\1 - Evidencias\\Empresa\\Contrato_Empresa\\out.pdf");


// Why Aspose.Word is so nice? Por Aspose.Word é tão bom?
//The document looks exactly the same in all these document formats. O documento parece exatamente o mesmo em todos esses formatos de documentos.
doc.save("C:\\Users\\rramos\\Desktop\\Infobase\\Fidelity\\Scripts\\Cenarios\\1 - Evidencias\\Empresa\\Contrato_Empresa\\out.doc");
doc.save("C:\\Users\\rramos\\Desktop\\Infobase\\Fidelity\\Scripts\\Cenarios\\1 - Evidencias\\Empresa\\Contrato_Empresa\\out.docx");
doc.save("C:\\Users\\rramos\\Desktop\\Infobase\\Fidelity\\Scripts\\Cenarios\\1 - Evidencias\\Empresa\\Contrato_Empresa\\out.rtf");
doc.save("C:\\Users\\rramos\\Desktop\\Infobase\\Fidelity\\Scripts\\Cenarios\\1 - Evidencias\\Empresa\\Contrato_Empresa\\out.odt");



}

private static void addPage (DocumentBuilder builder, String imageFileName) throws Exception
{
//The builder is like a cursor. We will have one paragraph per page. O construtor é como um cursor. Teremos um parágrafo por página.
//Each paragraph will have an image in it. Each paragraph needs to be formated o start from new page. Cada parágrafo terá uma imagem nele. Cada parágrafo precisa ser formatado para iniciar a partir nova página.
builder.getParagraphFormat().setPageBreakBefore(true);

//Now insert the image. Agora inserir a imagem.
//the method returns us the Shape object that was just created so we can modify it further. o método nos devolve o objeto Shape que apenas foi criado para que possa modificá-lo ainda mais.
Shape shape = builder.insertImage(
imageFileName,
RelativeHorizontalPosition.PAGE,
0, //I Want the image to be positioned at the top left corner of the page. Eu quero a imagem a ser posicionado no canto superior esquerdo da página.
RelativeVerticalPosition.PAGE,
0,
-1, //I Want Aspose.Words to make the shape size according to the image size. Eu quero Aspose.Words para fazer o tamanho da forma de acordo com o tamanho da imagem.
-1,
WrapType.NONE); //The shape should be floating, not inline. A forma deve ser flutuante, não in-line.

//I Want the image centered. Eu quero a imagem centralizada.
shape.setHorizontalAlignment(HorizontalAlignment.CENTER);

//I want the image scaled so it ocupies the whole page. Eu quero que a imagem dimensionada de modo que ocupa toda a página.
//Actually I want it to be scaled while keeping the aspect ratio. Na verdade, eu quero que ele seja escalado, mantendo a relação de aspecto.

//Let's get the page size. Vamos dar o tamanho da página.
PageSetup ps = builder.getDocument().getFirstSection().getPageSetup();
double pageWidth = ps.getPageWidth();
double pageHeight = ps.getPageHeight();

//Let's get the shape size. Vamos dar o tamanho da página.
double shapeWidth = shape.getWidth();
double shapeHeight = shape.getHeight();

//Now find the existing ratios between shape size and page size. Agora, encontrar as razões existentes entre o tamanho forma e tamanho da página.
double ratioX = pageWidth / shapeWidth;
double ratioY = pageHeight / shapeHeight;

//Select the minimal ratio, we will use it to scale the shape. Selecione o rácio mínimo, vamos usá-lo para escalar a forma.
double ratio = Math.min(ratioX, ratioY);

//Now resize the shape. Agora redimensionar a forma.
shape.setWidth(shapeWidth * ratio);
shape.setHeight(shapeHeight * ratio);

builder.writeln(); //This inserts a new empty paragraph. Isso insere um novo parágrafo vazio.

}

}

Hi Rafael,


Thanks for your inquiry. Your code works fine on our end. It is a FileNotFoundException so please make sure that the paths to files and images are resolving correctly on your end.

Best regards,