2011-12-01 12 views
14

Ho bisogno di creare una tabella in un file RTF. Tuttavia non ho familiarità con RΤF. Ecco un esempio di un file di testo che questi file RTF dovrebbero sostituire:Utilizzo di tabelle in RTF

       GENERAL JOURNAL 
                     Page 1 

Date  Description        Post Ref Debit  Credit 
------------------------------------------------------------------------------ 
2011 
Dec 1 Utilities Expense       512  250.00 
      Cash         111     250.00 
       Paid electric bill for November, 
       Check No. 1234 

    2 Cash          111  35.00 
      Accounts Receivable/Customer Name  115/√    30.00 
      Interest Income       412     5.00 
       Receipt of payment on account 
       from Customer, Check No. 5678 

     . . . 

La tabella dovrebbe avere confini, ma non so come fare questa operazione. Alcune cellule devono avere bordi speciali sul fondo come in questo file:

        Company Name 
         Schedule of Accounts Receivable 
           December 31, 2011 

Name                 Balance 
------------------------------------------------------------------------------ 
Adams, John                354.24 
Jefferson, Thomas              58.35 
Washington, George              754.58 
                     -------- 
                     1167.17 
                     ======== 

sono consapevole del \cell, \row ecc, ma non riesco a capire come utilizzarli in modo corretto la documentazione che ho trovato non è molto buono. Per favore aiuto.

+0

E cosa ha a che fare con C++? –

+0

Sto scrivendo i file (TXT e RTF) in modo programmatico in C++ –

+1

[Qui] (http://en.wikipedia.org/wiki/Rich_Text_Format#External_links) è possibile trovare alcuni collegamenti a diverse versioni delle specifiche RTF. –

risposta

21

Questo sito è utile: http://www.pindari.com/rtf3.html

{\rtf1\ansi\deff0 
\trowd 
\cellx1000 
\cellx2000 
\cellx3000 
\intbl cell 1\cell 
\intbl cell 2\cell 
\intbl cell 3\cell 
\row 
} 

Questo darà:

--------------------------- 
|cell 1 | cell 2 | cell 3 | 
--------------------------- 

Una riga viene delimted con \trowd ... \row

Ogni cella termina con \cell

\cellx determina il lato destro della cella corrispondente nei twip

+2

Cosa divertente ... Trova e scarica il documento delle specifiche di Microsoft RTF 1.9.1. Quindi, salvalo come RTF. Si noti che le loro righe di tabella NON iniziano e finiscono in questo modo. Invece, iniziano tutti con \ ltrrow ... – MaxOvrdrv

+3

Le definizioni delle tabelle RTF sono un vero incubo. Ho pensato di averlo capito e poi ho trovato tabelle annidate :-( – Santosh

+0

Un fatto divertente: le tabelle nidificate non erano nella specifica RTF originale, ma sono state aggiunte in un secondo momento in modo compatibile con le versioni precedenti. – user2847643

1

La modifica diretta in RTF diventa rapidamente illeggibile. Questo approccio pratico funziona meglio: - Creare un modello di esempio (in Excel o Word) utilizzando identificatori univoci come segnaposto (esempio "(P1)") - Quindi salvare come RTF - Aprire RTF nel blocco note - copia i codici RTF "così com'è" e sostituisci i segnaposti con i valori effettivi nel tuo programma

+0

L'altra risposta è più generale.Questo è ciò che effettivamente faccio in casi come questo.Finché puoi creare una tabella, salva come rtf, puoi imparare come è fatto. Attenzione: inserisci liberamente interruzioni di riga dopo parentesi! – pauljohn32