package utilities;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.FileUtils;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.util.Units;
import org.apache.poi.xwpf.usermodel.Document;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
public class CapturaEvidencia {
public static void capturarPantallaEnDocumento(WebDriver driver, String rutaImagen, String nombreDocumento, String tituloEvidencia) throws IOException, InvalidFormatException, InterruptedException {
File screen = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
File imageFile = new File(rutaImagen);
FileUtils.copyFile(screen, imageFile);
File fichero = new File(nombreDocumento);
XWPFDocument docx;
if (!fichero.exists()) {
docx = new XWPFDocument();
} else {
FileInputStream ficheroStream = new FileInputStream(fichero);
docx = new XWPFDocument(ficheroStream);
}
XWPFParagraph paragraph = docx.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText(tituloEvidencia);
run.setFontSize(13);
InputStream pic = new FileInputStream(rutaImagen);
run.addPicture(pic, Document.PICTURE_TYPE_PNG, rutaImagen, Units.toEMU(500), Units.toEMU(200));
pic.close();
FileOutputStream out = new FileOutputStream(nombreDocumento);
docx.write(out);
out.flush();
out.close();
docx.close();
TimeUnit.SECONDS.sleep(1);
}
public static void escribirTituloEnDocumento(String nombreDocumento, String tituloEvidencia, int fontSize) throws IOException, InvalidFormatException, InterruptedException {
File fichero = new File(nombreDocumento);
XWPFDocument docx;
if (!fichero.exists()) {
docx = new XWPFDocument();
} else {
FileInputStream ficheroStream = new FileInputStream(fichero);
docx = new XWPFDocument(ficheroStream);
}
XWPFParagraph paragraph = docx.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText(tituloEvidencia);
run.setFontSize(fontSize);
FileOutputStream out = new FileOutputStream(nombreDocumento);
docx.write(out);
out.flush();
out.close();
docx.close();
TimeUnit.SECONDS.sleep(1);
}
}