c # interop Word Поворот изображения - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь повернуть изображение в моем документе Word. Но это не работает для меня. Я не знаю, в чем проблема. Я ищу решения для своей проблемы, но не понимаю.

Я попытался создать изображение, а затем повернуть его. Это мой код, надеюсь, вы мне поможете:

private void CargarImagen(Word.Document aDoc, Word.Range rngDoc, byte[] img, RondaParametro param, string text)
{
    Logger.Trace(Logger.GetCallerInfo(), this, "Imprimiendo imagen {0} ", GetParametroIdioma(param));

    object wdSectionBreakNextPage = 2; //el 2 es el tipo. https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.word.wdbreaktype?view=word-pia

    object lineBreak = 6;
    rngDoc.Select();

    rngDoc.InsertBreak(wdSectionBreakNextPage);

    if (this._ronda.Participaciones.Count() > NumLabImagen)
    {
        Microsoft.Office.Interop.Word.Paragraph para = rngDoc.Paragraphs.Add();
        para.Range.InsertParagraphAfter();

        para.Range.Font.AllCaps = 1;
        para.Range.Text = text;
        para.Range.set_Style(Word.WdBuiltinStyle.wdStyleHeading2);
        para.Range.InsertParagraphAfter();

        rngDoc.SetRange(para.Range.End, para.Range.End);

        var tmpFile = System.IO.Path.GetTempFileName();

        System.IO.File.WriteAllBytes(tmpFile, img);

        rngDoc.Select();
        rngDoc.InsertBreak(lineBreak);


        var imag = rngDoc.InlineShapes.AddPicture(tmpFile, Type.Missing, Type.Missing);

        Word.Shape shape = imag.ConvertToShape();
        shape.IncrementRotation(90);

        var imagCargada = shape.ConvertToInlineShape();

        rngDoc.SetRange(imagCargada.Range.End, imagCargada.Range.End);            
    }
}

Я проверил shape.Rotation, и он выглядит как 0

enter image description here

...