/ / Itext7 - Изрязване на изображение - itext7

Itext7 - Изрязване на изображение - itext7

Здравейте как можем да преоразмеряваме изображението в iText 7. Аз не мога да намеря PDFTemplate в itext 7 сега, което се използва за изрязване на изображението. ,

public Image cropImage(PdfWriter writer, Image image, float leftReduction, float rightReduction, float topReduction, float bottomReduction) throws DocumentException {
float width = image.getScaledWidth();
float height = image.getScaledHeight();
PdfTemplate template = writer.getDirectContent().createTemplate(
width - leftReduction - rightReduction,
height - topReduction - bottomReduction);
template.addImage(image,
width, 0, 0,
height, -leftReduction, -bottomReduction);
return Image.getInstance(template);
}

Това се използва за itext 5

Отговори:

1 за отговор № 1

Да предположим, че имате това изображение с размери 900 x 1200 пиксела:

въведете описанието на изображението тук

Но искате да покажете само част от изображението (например топките за пинг-понг):

въведете описанието на изображението тук

След това можете да използвате този код iText 7:

PdfDocument pdf = new PdfDocument(new PdfWriter("cropimage.pdf"));
Document document = new Document(pdf);
Image image = new Image(ImageDataFactory.create(imagePath));
image.setFixedPosition(-20, -320);
Rectangle rectangle = new Rectangle(300, 300);
PdfFormXObject template = new PdfFormXObject(rectangle);
Canvas canvas = new Canvas(template, pdf);
canvas.add(image);
Image croppedImage = new Image(template);
document.add(croppedImage);
document.close();

Създаваме един Image примерно с цялото изображение и задаваме фиксираната позиция по такъв начин, че да отстраним 20 пиксела отляво и 320 от дъното.

Създаваме правоъгълник с 300 x 300 потребителски единици. Това определя размера на изрязаното изображение.

Създаваме a PdfFormXObject използвайки този правоъгълник. В езика iText 5 формулярът Form XObject се наричаше a PdfTemplate.

Създаваме a Canvas обект с това template, и ние добавяме изображението към canvas.

И накрая, създаваме друг Image използвайки шаблона. Най- Canvas операцията ще добави пълното изображение към това template, но тя ще бъде изрязана до размера на rectangle.

Можете да добавите това croppedImage към документа.