PDFium Delphi Component Docs

AddJpegImage Método

Componente: TPdf  ·  Unidade: PDFium
Adiciona uma imagem JPEG à página PDF atual usando as coordenadas especificadas

Syntax

function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;

JpegImageTStream. Um stream contendo dados brutos compactados em JPEG. A posição do stream deve estar no início dos dados JPEG quando este método é chamado.

Return Value

Retorna True se os dados JPEG foram decodificados e incorporados com sucesso na página. Retorna False se o stream não contém dados JPEG válidos ou se a operação de incorporação falha.

Description

AddJpegImage incorpora uma imagem JPEG fornecida como um stream de bytes brutos na página PDF atual. Como os dados JPEG são passados diretamente sem recodificação, a qualidade da imagem é preservada exatamente como armazenada no stream de origem. Isso torna o método bem adequado para geração de documentos em grande volume, em que decodificar e recomprimir imagens introduziria perda de qualidade ou sobrecarga de CPU desnecessárias.

O stream JpegImage deve conter um arquivo JPEG completo e válido começando pelo marcador SOI. A posição atual do stream deve estar no início dos dados JPEG antes de chamar este método. Qualquer descendente de TStream é aceito — TFileStream, TMemoryStream, streams de blob de banco de dados e assim por diante.

Os parâmetros X e Y especificam o canto inferior esquerdo do retângulo de posicionamento em unidades de usuário de PDF (origem no canto inferior esquerdo da página, Y cresce para cima). Width e Height definem o tamanho renderizado na página; o JPEG é dimensionado para caber independentemente das suas dimensões em pixels.

O método retorna True em caso de sucesso. Se o stream não contém dados JPEG válidos, ele retorna False sem levantar uma exceção, então os chamadores devem verificar o valor retornado ao trabalhar com dados de origem incerta.

Example

var
  Stream: TFileStream;
begin
  Stream := TFileStream.Create('C:\Images\photo.jpg', fmOpenRead or fmShareDenyNone);
  try
    Pdf1.NewPage(595, 842);
    if not Pdf1.AddJpegImage(Stream, 72, 400, 300, 225) then
      ShowMessage('Failed to embed JPEG image.');
  finally
    Stream.Free;
  end;
end;

See Also

AddImage, AddPicture