AddInkAnnotation
Anotações e links de zona ativa
Descrição
Adiciona uma anotação de markup de tinta (PDF /Subtype /Ink) representando um ou mais traços manuscritos, marcas de forma livre ou esboços a mão desenhados na página. A entrada de dicionário /InkList contém um array de traços; cada traço é um array de coordenadas x/y alternadas que representa o caminho traçado por um dispositivo apontador entre os eventos de pen-down e pen-up. Componentes de cor e opacidade são expressos em escala 0–1; Transparency é dada em escala 0–100 (0 = totalmente opaco, 100 = totalmente transparente). Como este ponto de entrada emite a chave de opacidade /CA de anotação do PDF 1.4, a biblioteca eleva documentos menores destravados para PDF 1.4 antes de salvar; alvos menores travados são rejeitados pelo gate de compatibilidade. Definida na ISO 32000-1 §12.5.6.13.
Sintaxe
Delphi
Function TPDFlib.AddInkAnnotation(Const InkPaths: WideString; BorderWidth: Double; InkRed, InkGreen, InkBlue: Double; Const Title, Contents: WideString; Transparency: Integer): Integer;
Parâmetros
InkPaths — One or more strokes encoded as a single string. Strokes are separated by '|' or by a newline (CR / LF / CRLF). Within each stroke the coordinate pairs use the same delimiter convention as AddPolygonAnnotation: alternating x/y values separated by spaces, commas, semicolons, or tabs. Example: "100 100 110 105 120 110 | 200 200 210 205" describes two separate strokes. Each stroke must contain at least two coordinate pairs (four numbers) and an even total number of values, otherwise the call returns 0.
BorderWidth — Largura do traço da tinta, nas unidades atuais
InkRed, InkGreen, InkBlue — componentes RGB (0–1) da cor da tinta, gravados em /C
Title — Nome do autor gravado na entrada /T da anotação. Passe uma string vazia para omitir
Contents — Corpo do popup associado à anotação. Passe uma string vazia para omitir
Transparency — Opacidade expressa como porcentagem transparente (0–100). A biblioteca converte isso para PDF /CA = 1 - Transparency/100 e limita ao intervalo
Valor de retorno
1 em caso de sucesso, 0 se nenhum documento estiver selecionado, se a string de tinta não puder ser analisada como uma lista de traços válida ou se a anotação não pôde ser criada
Observações
O /Rect da anotação é calculado automaticamente a partir da extensão combinada de todos os traços mais um pequeno preenchimento proporcional à largura da borda, de modo que os traços renderizados permaneçam dentro da bounding box da anotação
Este ponto de entrada serve tanto para caligrafia digitalizada capturada de um dispositivo touch/caneta quanto para formas de mão livre programáticas, como assinaturas rabiscadas ou anotações importadas de outras ferramentas. Para sobrescrever a cor da tinta, a borda, o conteúdo ou o retângulo após a criação, use SetAnnotBorderColor, SetAnnotBorderStyle, SetAnnotContents e SetAnnotRect.