Export To Word

отредактировано December 2018 Раздел: FastReport VCL
При экспорте в Word текст из frxRichView экспортируется как картинка.
При frxDOCXExport.PictureType = gpPNG и отсутствии цвета фона (frxRichView.Color = clNone) почему-то тень текста (точнее пиксели для сглаживания) принимает его цвет и текст становится плохочитаемым...
sk3XxZT.png
Если цвет фона задан, например белый или формат картинки не PNG, то этой проблемы не наблюдается
Это настраивается может как-то свойствами frxRichView или с этим ничего не поделать?

И ещё вопросик вдогонку... В младших версиях был ещё и экспорт OLE, его полностью убрали или можно как-то подключить в 5 или 6?

Комментарии

  • gpigpi
    отредактировано 22:26
    Попробуйте исправить frxImageConverter.pas
      procedure SaveAsBitmap(PixFormat: TPixelFormat);
      var
        Image: TBitmap;
      begin
        Image := TBitmap.Create;
    
        try
          Image.Width := Graphic.Width;
          Image.Height := Graphic.Height;
          Image.PixelFormat := PixFormat;
    
          Image.TransparentColor := $FFFFFF;
          Image.Canvas.Lock;
          try
            Image.Canvas.Brush.Color := Image.TransparentColor;
            Image.Canvas.FillRect(Image.Canvas.ClipRect);
    
            Image.Canvas.Draw(0, 0, Graphic);
          finally
            Image.Canvas.Unlock;
          end;
          Image.SaveToStream(Stream);
        finally
          Image.Free
        end
      end;
    
      procedure SaveAsPNG;
      {$IFNDEF FPC}
      {$IFNDEF Delphi12}
      type
        TPngImage = TPngObject;
      {$ENDIF}
      var
        Image: TPngImage;
      begin
        Image := TPngImage.CreateBlank(COLOR_RGB, 8, Graphic.Width, Graphic.Height);
    
        try
          Image.TransparentColor := $FFFFFF;
          Image.Canvas.Lock;
          try
            Image.Canvas.Brush.Color := Image.TransparentColor;
            Image.Canvas.FillRect(Image.Canvas.ClipRect);
    
            Image.Canvas.Draw(0, 0, Graphic);
          finally
            Image.Canvas.Unlock;
          end;
          Image.SaveToStream(Stream);
        finally
          Image.Free
        end
      end;
    
    написал:
    В младших версиях был ещё и экспорт OLE, его полностью убрали или можно как-то подключить в 5 или 6?
    Добавьте TfrxXLSExport в проект
  • отредактировано December 2018
    gpi написал: »
    Попробуйте исправить frxImageConverter.pas...
    Хм, логично, работает, спасибо! Это автоматически войдёт в последующие версии?
    А откуда вообще была надумана константа $123456? )
    gpi написал: »
    Добавьте TfrxXLSExport в проект
    А вот это не понял, при чём тут вообще Excel для экспорта в Word?
    И попробовал, ничего не изменилось, добавился экспорт в Excel, как и ожидалось.
    Для Word остался только XML, как и прежде.
  • gpigpi
    отредактировано 22:26
    написал:
    А вот это не понял, при чём тут вообще Excel для экспорта в Word?
    OLE экспорт всегда был только для Excel

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.