Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R8
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 Text range( wpArea ; inicioFaixa ; fimFaixa ) -> objFaixa: devolve uma nova faixa correspondente aos limites que passam como parâmetros.
  • WP Selection range( {*;} wpArea ) -> rangeObj: devolve uma nova faixa que corresponde a seleção usuário atual.
  • WP Picture range( rangeObj ) -> rangeObj: devolve uma nova faixa que contém só as imagens.
  • WP Paragraph range( rangeObj ) -> rangeObj: devolve uma nova faixa que contém só os parágrafos.
  • WP 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 cell count cellCount Número Total de células na fila. Tipo de Valor: Inteiro longo (valor for wk type table row)
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 header row count headerRowCount

(Leitura/Escrita) Número de línhas da tabela com o atributo wk header definido como True. 

O valor máximo é 5. Se passar um valor superior a 5, wk header se define como True só para as cinco primeiras linhas (ver Cabeçalho repetido).

wk row count rowCount (Atributo de faixa somente leitura) Número total de linhas na faixa. Valor: inteiro longo
wk table table

(Atributo apenas Leitura) Tabela pai. Valor tipo: Objeto

wk table ID tableID (Atributo de faixa somente leitura). ID da faixa da tabela pai. Valor: String

 

Como é detalhado no parágrafo Gerenciar cabeçalhos, rodapés e seções, os documentos 4D Write Pro podem conter:

  • uma ou mais seções (uma seção como padrão)
  • para cada seção, até três subseções:
    • subseção de primeira página
    • subseção de página(s) esquerda(s)
    • subseção de página(s) direita(s)

As seções e subseções são objetos que podem ser manejadas por programação utilizando os comandos abaixo:

Lembre também que os cabeçalhos e rodapés específicos podem ser anexados à seções e subseções, utilizando os comandos abaixo:

Os objetos de seção e subseção são compatíveis com os atributos abaixo:

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.

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

Em um documento 4D Write Pro, um link pode ser ativado utilizando um simples clique.

4D Write Pro é compatível com links dos seguintes tipos:

Tipo de linkDescrição
urlLinks a páginas web ou a qualquer documento, abre a aplicação associada quando se ativar (*). A ativação de um link  URL ao documento 4D Write Pro (.4wp, .4w7) substitui ao documento atual na área de 4D Write Pro.
(*) igual que o comando .
bookmarkLinks a bookmarks no documento
methodAtivando um link a um método 4D executa o método (sempre que estiver registrado pelo método ).


Os hyperlinks são manejados através dos comandos abaixo:

    WP SET LINK para inserir um link utilizando um objeto de destino.
    WP Get links para obter a coleção de todos os links em um objeto de destino.

Nota: os links são manejados como atributos, portanto podem ser definidos ou obtidos utilizando os comandos WP SET ATTRIBUTES e WP RESET ATTRIBUTES assim como a constantewk link url. Entretanto, recomendamos utilizar WP SET LINK e WP Get links porque automaticamente codificam/decodificam links como URLs. Quando são lidos links utilizando o comando WP GET ATTRIBUTES, se a range conter vários hiperlinks, o comando devolve a primeira string de url.

Por exemplo, se quiser transformar o texto selecionado pelo usuário em uma URL em um website:



Se pode escrever:

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

Para eliminar um link da range, pode escrever:

 WP RESET ATTRIBUTES($range;wk link url)


ou

 WP SET ATTRIBUTES($range;wk link url;"")


Nota: se $range não incluir o link todo, o link é truncado mas não é eliminado completamente.

Uma folha de estilo é um objeto de um conjunto definido de configurações de atributos utilizados para controlar a aparência de seus documentos 4D Write Pro.  Esta configuração pode ser aplicada a parágrafos e caracteres, como a fonte a mostrar, assim como o tamanho, a cor e o peso da fonte. Quando tiver definido uma folha de estilo, é guardada como um objeto no documento 4D Write Pro para que possa ser reutilizado facilmente. As folhas de estilo lhe permitem dar a seus documentos um aspecto diferente e único, enquanto poupa tempo e esforço.

Estilo "normal"

Todos os documentos 4D Write Pro têm uma folha de estilo de parágrafo predeterminada, "Normal". As novas folhas de estilo (criadas com o comando WP New style sheet) são herdadas automaticamente do estilo Normal. Os atributos modificados por uma folha de estilo só afetam aos parágrafos aos que forem aplicados, o resto de documento conserva a configuração Normal predeterminada. Se for eliminada uma folha de estilo, os atributos modificados voltarão ao estilo Normal.

O estilo Normal define um valor predeterminado para cada atributo de folha de estilo em um documento 4D Write Pro e pode ser recuperado com o comando WP Get style sheet. A folha de estilo Normal pode ser modificada (mas não renomeada) com o comando WP SET ATTRIBUTES. Apesar das folhas de estilo criadas com o comando WP New style sheet poderem ser eliminadas com o comando WP DELETE STYLE SHEET, a folha de estilo Normal não pode se reliminada.

Folhas de estilo de atributos de parágrafo e caracteres

As folhas de estilo lhe permitem definir os atributos de parágrafos completos ou caracteres específicos:

  • Parágrafo - a grande maioria dos atributos que podem ser modificados se aplicam apenas aos parágrafos. As folhas de estilo de parágrafo incluem configurações de estilo de caracteres, assim como atributos de formato que apenas podem ser aplicados a nivel de parágrafo (por exemplo, margens, bordas, abas, etc.).
  • Caractere - as folhas de estilo de caracteres utilizam apenas os atributos apropriados para diferenciar o texto (um ou mais caracteres) de estilo de parágrafo (por exemplo, cabeçalhos, títulos, texto sublinhado, etc.).

Lembre que os estilos de parágrafo se aplicam a parágrafos completos. Para aplicar um estilo apenas a uma parte específica de um parágrafo, deve utilizar uma folha de estilo de caracteres.

Precedência de folha de estilo

Podem ser combinadas várias folhas de estilo de parágrafos e caracteres dentro do mesmo documento 4D Write Pro. É importante lembrar que a prioridade da folha de estilo estiver determinada pela ordem en que se aplican.

  • Se aplicar uma folha de estilo de parágrafo e depois aplicar uma folha de estilo de caractere, a folha de estilo de caractere terá prioridade sobre a folha de estilo de parágrafo. Por exemplo, poderia aplicar uma folha de estilo de parágrafo ao corpo de seu documento, depois poderia criar uma folha de estilo de caracteres "em negrito" e aplicar a palavras específicas. A folha de estilo de parágrafo ainda se aplicará ao resto del texto, entretanto, a follha de estilo de caracteres terá prioridade para as palavras designadas.
  • Se aplicar uma folha de estilo de caracteres e depois aplicar uma folha de estilos de parágrafo, a folha de estilos de parágrafo se aplicará a todo o texto e são eliminados  todos os estilos de caracteres da folha de estilos de caracteres. 

Aplicando folhas de estilo

As folhas de estilo se aplicam com o comando WP SET ATTRIBUTES utilizando as constantes wk style sheet ou wk new line style sheet (ou utilizando notação de objetos). Para saber mais, consulte Atributos 4D Write Pro.

Recuperando folhas de estilo

O comando WP Get style sheets lhe permite recuperar todas as folhas de estilo em um documento de acordo com seu tipo específico. O comando WP Get style sheet lhe permite recuperar uma única folha de estilo por seu nome.

Importar e exportar folhas de estilo

Devido a que as folhas de estilo são armazenadas como objetos, podem ser importadas facilmente a outros documentos 4D Write Pro ou ser mantidas quando são exportadas em múltiplos formatos.

Atributos de folha de estilo

Os atributos abaixo de folha de estilo de parágrafos e caracteres podem ser modificados com os comandos WP SET ATTRIBUTES e WP RESET ATTRIBUTES, ou ser recuperados com o comando WP GET ATTRIBUTES.

Nota: alguns atributos estão vinculados entre si. Portanto, ao agregar apenas um destes atributos, os outros atributos vinculados também serão criados com os valores pre-determinados. Para os atributos vinculados, o valor predeterminado pode ser diferente do valor definido na folha de estilo Normal. Por exemplo, se definir apenas uma borda esquerda vermelha, as outras bordas serão negras (valor predeterminado) mesmo se as bordas na folha de estilo Normal forem definidas previamente como púrpura.

AtributosParágrafoCaractereAssociado com
wk avoid widows and orphansX  
wk background clipX  
wk background colorX X 
wk background heightX wk background width
wk background imageX  
wk background image urlX  
wk background originX  
wk background position horizontalX wk background position vertical 
wk background position verticalX wk background position horizontal 
wk background repeatX  
wk background widthX wk background height 
wk border colorX wk border color bottom, wk border color left, wk border color right, wk border color top
wk border color bottomX wk border color, wk border color left, wk border color right, wk border color top
wk border color leftX wk border color, wk border color bottom, wk border color right, wk border color top
wk border color rightX wk border color, wk border color bottom, wk border color left, wk border color top
wk border color topX wk border color, wk border color bottom, wk border color left, wk border color right
wk border radiusX  
wk border styleX wk border style bottom, wk border style left, wk border style right, wk border style top 
wk border style bottomX wk border style, wk border style left, wk border style right, wk border style top 
wk border style leftX wk border style, wk border style bottom, wk border style right, wk border style top 
wk border style rightX wk border style, wk border style bottom, wk border style left, wk border style top
wk border style topX wk border style, wk border style, wk border style bottom, wk border style left
wk border widthX wk border width bottom, wk border width left, wk border width right, wk border width top 
wk border width bottomX wk border width, wk border width left, wk border width right, wk border width top
wk border width leftX wk border width, wk border width bottom, wk border width right, wk border width top
wk border width rightX wk border widthwk border width bottom, wk border width left, wk border width top
wk border width topX wk border widthwk border width bottom, wk border width left, wk border width right
wk directionX  
wk fontXX wk font bold, wk font italic, wk font size
wk font boldXX wk font, wk font family, wk font italic, wk font size
wk font familyXX wk font, wk font bold, wk font italic, wk font size
wk font italicXX wk font, wk font bold, wk font family, wk font size
wk font sizeXX wk font, wk font bold, wk font family, wk font italic
wk line heightX  
wk list fontX  
wk list string format LTRX  
wk list string format RTLX  
wk list style imageX  
wk list style image heightX  
wk list style image urlX  
wk list style typeX  
wk marginX wk margin bottom, wk margin left, wk margin right, wk margin top
wk margin bottomX wk margin, wk margin left, wk margin right, wk margin top
wk margin leftX wk margin, wk margin bottom, wk margin right, wk margin top
wk margin rightX wk margin, wk margin bottom, wk margin left, wk margin top
wk margin topX wk margin, wk margin bottom, wk margin left, wk margin right
wk min heightX  
wk min widthX  
wk nameXX  
wk new line style sheetX  
wk owner 
wk paddingX wk padding bottom, wk padding left, wk padding right, wk padding top
wk padding bottomX wk padding, wk padding left, wk padding right, wk padding top
wk padding boxX  
wk padding leftX wk padding, wk padding bottom, wk padding right, wk padding top
wk padding rightX wk padding, wk padding bottom, wk padding left, wk padding top
wk padding topX wk padding, wk padding bottom, wk padding left, wk padding right
_o_wk page break insideX  
wk tab defaultX wk tabs, wk tab stop offsets, wk tab stop types, wk tab stop leadings
wk tabsX wk tab default, wk tab stop offsets, wk tab stop types, wk tab stop leadings
wk tab stop offsetsX  wk tabs, wk tab default, wk tab stop types, wk tab stop leadings
wk tab stop typesX wk tabs, wk tab default, wk tab stop offsets, wk tab stop leadings
wk tab stop leadingsX wk tabs, wk tab default, wk tab stop offsets, wk tab stop types  
wk text alignX  
wk text colorXX 
wk text indentX  
wk text linethrough colorXX 
wk text linethrough styleXX wk text underline style
wk text shadow colorXX wk text shadow offset
wk text shadow offsetX X wk text shadow color
wk text transformXX 
wk text underline colorXX 
wk text underline styleXX wk text linethrough style
wk typeX (read only)X (read only) 
wk vertical alignXX 
wk widthX  



Ver também 

Download HDI database

 
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 v20 R8)