dotnetcore / NPOI

A .NET library for reading and writing Microsoft Office binary and OOXML file formats.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

XSSFPicture.Resize method locks application execution

fiantsev opened this issue · comments

Description:

I used code example from poi https://poi.apache.org/components/spreadsheet/quick-guide.html#Images - it's about inserting image into spreadsheet.

my code

public void Main()
        {
            IWorkbook workbook = GetWorkbook();
            byte[] imageByteArray = LoadImage();
            var sheet = workbook.GetSheetAt(0);

            var pictureIndex = workbook.AddPicture(imageByteArray, PictureType.JPEG);
            var drawing = sheet.CreateDrawingPatriarch();

            var anchor = workbook.GetCreationHelper().CreateClientAnchor();
            anchor.Col1 = 0;
            anchor.Row1 = 0;

            var picture = (NPOI.XSSF.UserModel.XSSFPicture)drawing.CreatePicture(anchor, pictureIndex);

            picture.Resize();//deadlocks here
        }

 

Result:  

Application deadlocks on line picture.Resize();//deadlocks here

Expected behaviour:

no deadlock and image autoresized

I'm using DotNetCore.NPOI package from nuget. Version: 1.2.2

How to avoid deadlock and resize image correctly?