Como você define a direção do texto para um celular TextTable no OpenOffice?
-
23-08-2019 - |
Pergunta
Eu quero definir a direção do texto para algumas células em uma TextTable modo que eles são vertical (ou seja, o texto é paisagem em vez de retrato). Você pode fazer isso no Writer selecionando a célula (s), e indo para: Tabela - Propriedades do texto - Texto de fluxo - Direção do texto
No entanto, não posso descobrir como fazer isso através da API. Eu tentei usar CharRotation, mas não se comporta da maneira certa. CharRotation simplesmente leva o texto, e gira (sem ajustar qualquer formatação). O texto que estou a tratar é formatado por tabulações, e não se comporta corretamente quando rodado desta forma.
Solução
Eu finalmente descobri isso depois de todos esses meses!
Você tem que definir o "WritingMode" propriedade para a célula. Em C #:
XCell cell = table.getCellByName(cellName);
((XPropertySet)cell).setPropertyValue("WritingMode", new Any((short)
WritingMode.TB_RL));
Eu não tentei isso em python, mas eu acho que seria algo como isto:
cell = table.getCellByName(cellName)
cell.WritingMode = 2
Se você estiver usando uma linguagem de tipagem estática, certifique-se de lançá-lo a um curto. Fazendo typeof(WritingMode)
não vai funcionar, por algum motivo estranho.
esta questão no rastreador OOo bug.