4D v17

Accessar texto e atributos de imagem por programação

Página Inicial

 
4D v17
Accessar texto e atributos de imagem por programação

Accessar texto e atributos de imagem por programação  


 

 

4D Write Pro oferece um conjunto completo de comandos permitindo que modifique atributos de texto e imagens em seus documentos. Graças a estas propriedades, desenvolvedores 4D podem criar suas próprias interfaces de usuário (botões, menus, check boxes, etc) para os documentos 4D Write Pro. Comandos podem ser aplicados para documentos completos ou para porções específicos (faixas) ou baseads em seleções de usuários ou valores personalizados. Propriedades disponíveis incluem unidades de documentos, fundo, configurações de parágrafos, cores, fontes, estilos de fonte, assim como as propriedades de imagem.

Por exemplo, a 4D Write Pro area objeto de biblioteca faz uso extensivo de estas propriedades para oferecer uma interface 4D Write Pro sofisticada:

4D Write Pro lhe permite selecionar e manipular por programação o conteúdo de documento. Dado que o conteúdo selecionado pode incluir texto, imagens, tabelas, etc., e também etiquetas de formato (invisíveis), 4D Write Pro funciona com objetos chamados faixas (ranges - faixas de seleção ou gama de objetos selecionados).

Uma faixa é um objeto que representa uma porção de um documento 4D Write Pro.

  • uma faixa de caracteres, parágrafos, imagens ou tabelas é definida através de posições de caracteres dentro do documento principal.
  • uma faixa de células, colunas e filas são definidas através das posições das células e estão ancoradas à tabela principal

Pode ser usado para designar elementos a selecconar ou manipular atributos em uma parte de documento (usando WP GET ATTRIBUTES e WP SET ATTRIBUTES).

Constante Valor Comentário
wk end end (Atributo de faixa de só leitura)
wk owner owner (Atributo de faixa de só leitura)
wk start start (Atributo de faixa de só leitura)
wk type type (Atributo faixa apenas Leitura) Tipo de faixa 4D Write Pro. Pode ser 0: faixa padrão  (valor pré-determinado), 1: faixa parágrafo, 2: faixa imagem

Nota:as faixas vinculadas a arrays (faixas de células, colunas e filas) contém atributos específicos (ver o parágrafo abaixo).

Vários comandos lhe permitem definir faixas:

  • WP Create range( wpArea ; inicioFaixa ; fimFaixa ) -> objFaixa: devolve uma nova faixa correspondente aos limites que passam como parâmetros.
  • WP Get selection( {*;} wpArea ) -> rangeObj: devolve uma nova faixa que corresponde a seleção usuário atual.
  • WP Create picture range( rangeObj ) -> rangeObj: devolve uma nova faixa que contém só as imagens.
  • WP Create paragraph range( rangeObj ) -> rangeObj: devolve uma nova faixa que contém só os parágrafos.
  • WP Create table range( rangeObj ) -> rangeObj:  devolve uma nova faixa que contém só as tabelas.

É possível obter informações sobre a posição de uma range em um documento (página, número, número de coluna). usando o comando WP Get position.

As tabelas 4D Write Pro são criadas e construídas por programação usando os comandos abaixo:

(*) As colunas não possuem equivalente em html. Em 4D Write Pro, uma faixa de colunas é, na verdade, uma faixa de células.

As faixas de filas, colunas e células possuem atributos privados específicos que permitem definí-las:

Constante Valor Comentário
wk column count columnCount (Atributo de faixa somente leitura). Número total de colunas na faixa. Valor: inteiro longo
wk first column firstColumn (Atributo de faixa somente leitura) Número da primeira coluna na faixa. Valor: inteiro longo
wk first row firstRow (Atributo de faixa somente leitura). Número da primeira linha na faixa. Valor: inteiro longo
wk row count rowCount (Atributo de faixa somente leitura) Número total de linhas na faixa. Valor: inteiro longo
wk table ID tableID (Atributo de faixa somente leitura). ID da faixa da tabela pai. Valor: String

4D Write Pro permite criar e trabalhar com referências dinâmicas para faixas, chamadas bookmarks. Uma bookmark é uma referência de nome anexada à faixa especifica em um documento 4D Write Pro.

Bookmarks são dinâmicas, que significa que se suas faixas associadas são modificadas, estendidas ou reduzidas, a bookmark ainda vai referenciar a mesma faixa dentro do documento. Por exemplo:

  • Se criar uma  bookmark chamada "MyBM" que referencia o texto  "Hello world" na página 20 de seu documento.
  • Se então inserir  50 páginas no começo do documento.
  • Mesmo assim ainda poderá acessar o mesmo texto "Hello world" automaticamente, agora na página 70 do documento, através da bookmark "MyBM".

Um documento pode conter um número ilimitado de bookmarks. Diversas bookmarks podem referenciar a mesma faixa, e faixas de bookmarks podem ser can intercaladas. Entretanto, cada nome de bookmark pode ser único no documento.  Bookmarks não são importadas quando usar o comando WP INSERT DOCUMENT  (bookmarks no documento destino não podem ser gravadas por cima).

Ao ser criada, uma bookmark é armazenada dentro do documento. A bookmark é salvada com o documento e pode ser manejada através de diversos comandos. Também pode ser usada para referenciar partes de um documento modelo. Estas partes podem então ser juntadas automaticamente com dados do banco de dados para produzir documentos output dinâmicos tais como faturas ou catálogos.

Diversos comandos permitem que crie, remova ou use bookmarks:

Os comandos abaixo podem obter ou estabelecer qualquer atributos do documento:

  • WP SET ATTRIBUTES( rangeObj | wpDoc ; attribName ; attribValue {; attribName2 ; attribValue2 ; ... ; attribNameN ; attribValueN} ): estabelece um ou mais atributos/pares de valores no documento ou  range.
  • WP GET ATTRIBUTES( rangeObj | wpDoc ; attribName ; attribValue {; attribName2 ; attribValue2 ; ... ; attribNameN ; attribValueN} ): obtém o valor atual de atributos no documento ou range.
  • WP RESET ATTRIBUTES( rangeObj ; attribName {; attribName2 ; ... ; attribNameN } ): reseta atributo valores no documento ou range.

Atributos são detalhados na seção Atributos 4D Write Pro.

Este comando permite que consiga informação sobre suporte de estilo para uma range:

  • WP Is font style supported ( rangeObj ; wpFontStyle ) -> true or false: permite que saiba se uma range suporta um determinado estilo (útil para criar uma interface).

4D Write Pro permite que atribua hiperlinks para qualquer faixa de seleção do documento, incluindo faixas de texto, parágrafos, imagens, linhas de tabela ou células. Por exemplo, pode estabelecer um hiperlink para uma imagem, quando o  documento 4D Write Pro for exportado a HTML, usuários podem clicar a imagem para abrir uma página num endereço específico.

Nota: Hiperlinks podem ser ativados de dentro dos documentos 4D Write Pro usando os atalhos Ctrl+clique (Windows) ou Cmd+clique (macOS).

Hiperlinks são manejados como atributos das faixas e são estabelecidos ou obtidos usando os comandos WP SET ATTRIBUTES e WP RESET ATTRIBUTES assim como a constante wk link url. Por exemplo, se quiser transformar o texto selecionado pelo usuário a uma URL:

Se pode escrever:

 $range:=WP Get selection(*;"WParea")
 WP SET ATTRIBUTES($range;wk link url;"http://doc.4d.com")

Note: 4D Write Pro não traduz caracteres especiais da URL, se houverem. Necessita coficiar os caracteres específicos se necessário. Se a URL não for válida, um erro é gerado.

URLs inseridas obtém o formato de hiperlink normal (cor azul sublinhada) a não ser que o estilo de texto já tenha sido aplicado à faixa.

Quando manejar URLs em seus documentos, 4D Write Pro usa as regras abaixo:

  • Se estabelecer um link a uma faixa que contenha diversos parágrafos, vários links separados serão definidos.
  • Se estabelecer um link a uma faixa que já contenha links:
    • qualquer link existente que esteja totalmente incluindo na faixa serão removidos e o novo link é aplicado à faixa selecionada
    • se um link for parcialmente selecionado (intersecciona com a faixa) ele é reduzido de forma que a parte externa mantém o link prévio e o novo link é aplicado à faixa.
  • Quando ler links usando o comando WP GET ATTRIBUTES, os casos abaixo podem ocorrer:
    • a faixa contém um único hiperlink: o comando retorna a string url
    • a faixa contém diversos hiperlinks: o comando retorna a primeira string url
    • a faixa não contém qualquer hiperlink: o comando retorna uma string vazia.
  • Para remover um link de uma faixa selecionada, pode usar:

    ou



Ver também 


 
PROPRIEDADES 

Produto: 4D
Tema: Linguagem 4D Write Pro

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Modificado: 4D v16
Modificado: 4D v16 R4
Modificado: 4D v16 R5

 
ARTICLE USAGE

Referência 4D Write Pro ( 4D v17)