Passa al contenuto principale

Controlli del testo - Guida alle interruzioni di riga e di pagina

I caratteri di controllo del testo forniscono un controllo preciso sul layout e sulla struttura del documento all'interno PDF4me modelli. Questi caratteri di controllo speciali consentono di gestire a livello di programmazione interruzioni di riga, interruzioni di pagina, strutture di colonna, formattazione di paragrafo e altri elementi di layout all'interno dei documenti generati.


Caratteri di controllo disponibili

PDF4me I modelli supportano i seguenti caratteri di controllo per la gestione della struttura del documento:

Interruzione di colonna

Inserisce un'interruzione di colonna, spostando il contenuto alla colonna successiva nei layout a più colonne.

<<[ControlChar.ColumnBreak]>>

Caso d'uso: Newsletter, brochure o documenti a più colonne con layout a colonne.

Esempio:

Column 1 Content...
<<[ControlChar.ColumnBreak]>>
Column 2 Content...

Interruzione di riga

Inserisce un'interruzione di riga all'interno dello stesso paragrafo, passando alla riga successiva senza iniziare un nuovo paragrafo.

<<[ControlChar.LineBreak]>>

Caso d'uso: Indirizzi, poesie o contenuti su più righe all'interno di un singolo paragrafo.

Esempio:

Customer Name: <<[customerName]>><<[ControlChar.LineBreak]>>
Address Line 1: <<[address1]>><<[ControlChar.LineBreak]>>
Address Line 2: <<[address2]>><<[ControlChar.LineBreak]>>
City, State ZIP: <<[city]>>, <<[state]>> <<[zipCode]>>

Produzione:

Customer Name: John Smith
Address Line 1: 123 Main Street
Address Line 2: Suite 100
City, State ZIP: New York, NY 10001

Alimentazione in linea

Inserisce un carattere di avanzamento riga, simile alla pressione del tasto Invio in un editor di testo.

<<[ControlChar.LineFeed]>>

Caso d'uso: Creare spaziatura verticale o separare le righe di testo.


Spazio non di rottura

Inserisce uno spazio che impedisce le interruzioni di riga, mantenendo le parole unite sulla stessa riga.

<<[ControlChar.NonBreakingSpace]>>

Caso d'uso: Mantenere unite le unità con numeri (ad esempio, "100 km"), i nomi o evitare interruzioni di riga indesiderate.

Esempio:

Distance: <<[distance]>><<[ControlChar.NonBreakingSpace]>>kilometers

Garantisce che "chilometri" rimanga sulla stessa riga del numero.


Interruzione di pagina

Inserisce un'interruzione di pagina, forzando l'inizio del contenuto su una nuova pagina.

<<[ControlChar.PageBreak]>>

Caso d'uso: Separare le sezioni principali, garantire che il contenuto inizi su nuove pagine o controllare la paginazione.

Esempio:

Section 1 Content...
<<[ControlChar.PageBreak]>>
Section 2 Content...

Interruzione di paragrafo

Inserisce un'interruzione di paragrafo, terminando il paragrafo corrente e iniziandone uno nuovo.

<<[ControlChar.ParagraphBreak]>>

Caso d'uso: Creare paragrafi distinti, aggiungere spaziatura verticale o strutturare il testo.

Esempio:

First paragraph text here.<<[ControlChar.ParagraphBreak]>>
Second paragraph text here.<<[ControlChar.ParagraphBreak]>>
Third paragraph text here.

Interruzione di sezione

Inserisce un'interruzione di sezione, creando una nuova sezione del documento con formattazione indipendente.

<<[ControlChar.SectionBreak]>>

Caso d'uso: Intestazioni/piè di pagina diversi per ogni sezione, cambio di orientamento (da verticale a orizzontale) o numerazione delle pagine indipendente.


Tab

Inserisce un carattere di tabulazione per scopi di allineamento.

<<[ControlChar.Tab]>>

Caso d'uso: Allineamento del testo, creazione di colonne senza tabelle o rientro.

Esempio:

Name:<<[ControlChar.Tab]>><<[customerName]>>
Email:<<[ControlChar.Tab]>><<[email]>>
Phone:<<[ControlChar.Tab]>><<[phone]>>

Applicazioni pratiche

Applicazione 1: Documento a più sezioni

Modello:

Chapter 1: Introduction
<<[chapter1Content]>>
<<[ControlChar.PageBreak]>>

Chapter 2: Analysis
<<[chapter2Content]>>
<<[ControlChar.PageBreak]>>

Chapter 3: Conclusion
<<[chapter3Content]>>

Applicazione 2: Blocco indirizzi formattato

Modello:

<<[companyName]:caps>><<[ControlChar.LineBreak]>>
<<[address1]>><<[ControlChar.LineBreak]>>
<<if [address2 != null]>><<[address2]>><<[ControlChar.LineBreak]>><</if>>
<<[city]>>, <<[state]>><<[ControlChar.NonBreakingSpace]>><<[zipCode]>><<[ControlChar.LineBreak]>>
<<[country]>>

Applicazione 3: Dati tabellari senza tabelle

Modello:

Item<<[ControlChar.Tab]>>Quantity<<[ControlChar.Tab]>>Price
<<foreach [item in items]>>
<<[item.name]>><<[ControlChar.Tab]>><<[item.qty]>><<[ControlChar.Tab]>>$<<[item.price]>><<[ControlChar.LineBreak]>>
<</foreach>>

Applicazione 4: Impaginazione della newsletter

Modello:

Article 1 Content (Column 1)...
<<[ControlChar.ColumnBreak]>>
Article 2 Content (Column 2)...
<<[ControlChar.ColumnBreak]>>
Article 3 Content (Column 3)...
<<[ControlChar.PageBreak]>>
Page 2 Content...

Combinazione di caratteri di controllo

È possibile utilizzare più caratteri di controllo contemporaneamente per creare layout complessi.

Esempio: elenco di contatti strutturato

Modello:

<<foreach [contact in contacts]>>
**<<[contact.name]:caps>>**<<[ControlChar.LineBreak]>>
Position: <<[contact.position]>><<[ControlChar.LineBreak]>>
Email: <<[contact.email]>><<[ControlChar.LineBreak]>>
Phone: <<[contact.phone]>><<[ControlChar.ParagraphBreak]>>
<</foreach>>

Caratteri di controllo nei cicli

Utilizzare i caratteri di controllo all'interno dei cicli foreach per la formattazione dinamica.

Esempio: Elenco dei reparti con interruzioni di pagina

Modello:

<<foreach [dept in departments]>>
**Department: <<[dept.name]>>**

<<[dept.description]>>

Employees:
<<foreach [emp in dept.employees]>>
• <<[emp.name]>> - <<[emp.role]>><<[ControlChar.LineBreak]>>
<</foreach>>

<<[ControlChar.PageBreak]>>
<</foreach>>

Ogni dipartimento ha una pagina dedicata.


Tecniche di formattazione avanzate

Interruzioni di pagina condizionali

Modello:

<<foreach [section in sections]>>
<<[section.title]>>
<<[section.content]>>

<<if [$index < sections.Count() - 1]>>
<<[ControlChar.PageBreak]>>
<</if>>
<</foreach>>

Aggiunge interruzioni di pagina tra le sezioni, ma non dopo l'ultima sezione.


Spaziatura dinamica

Modello:

<<foreach [item in items]>>
<<[item.name]>><<[ControlChar.LineBreak]>>
<<if [item.hasDetails]>>
Details: <<[item.details]>><<[ControlChar.ParagraphBreak]>>
<</if>>
<</foreach>>

Riferimento al carattere di controllo

Personaggio di controlloSimboloScopoUso comune
ColumnBreakN / AColonna successivaLayout a più colonne
LineBreakNuova riga, stesso paragrafoIndirizzi, elenchi
LineFeedLFAlimentazione in lineaFormattazione del testo
NonBreakingSpace Spazio infrangibileMantieni le parole unite
PageBreakNuova paginaInterruzioni di capitolo
ParagraphBreakNuovo paragrafoseparazione del testo
SectionBreak§Nuova sezioneLe intestazioni/i piè di pagina cambiano
TabAllineamento delle tabulazioniAllineamento colonnare

migliori pratiche

Controllo del layout

  1. Utilizzare in modo appropriato - Scegli il controllo più adatto alle tue esigenze di layout
  2. Output del test - Verificare che i caratteri di controllo producano il layout desiderato
  3. Spaziatura uniforme - Utilizzare le interruzioni di paragrafo in modo coerente per la spaziatura
  4. Evitare pause eccessive - Non abusare delle interruzioni di pagina/sezione

Struttura del documento

  1. Sezioni logiche - Utilizzare le interruzioni di sezione per divisioni logiche del documento
  2. Paginazione corretta - Utilizzare le interruzioni di pagina per controllare dove le pagine vengono divise
  3. Allineamento - Utilizzare le linguette per semplici esigenze di allineamento
  4. Formattazione dell'indirizzo - Utilizzare interruzioni di riga per indirizzi su più righe

Manutenzione del modello

  1. Utilizzo del documento - Commentare dove vengono utilizzati caratteri di controllo complessi
  2. chiarezza visiva - Modello di formattazione per una migliore leggibilità
  3. Eseguire un test approfondito - Verificare l'output con diversi set di dati
  4. Controllo delle versioni - Monitora le modifiche alla struttura del modello

Risoluzione dei problemi

Problemi comuni

Problema: Interruzioni di pagina impreviste nell'output
Soluzione: Verificare la presenza di errori involontari PageBreak O SectionBreak utilizzo

Problema: Il testo non è allineato con le tabulazioni
Soluzione: Verificare che le tabulazioni siano impostate in Word modello

Problema: Le interruzioni di colonna non funzionano
Soluzione: Assicurarsi che il documento abbia il layout a colonne configurato

Problema: Gli spazi non divisibili non impediscono le interruzioni
Soluzione: Verifica la presenza di stringhe lunghe che forzano interruzioni nonostante gli spazi non divisibili

Problema: Troppi spazi bianchi nel documento
Soluzione: Rivedi l'uso delle interruzioni di paragrafo; potrebbero essere eccessive.


Esempio completo: Rapporto a più sezioni

Modello:

<<var [reportTitle = "Annual Business Report"]>>
<<var [reportYear = 2024]>>
<<var [companyName = "Tech Innovations Inc."]>>

**<<[reportTitle]>> - <<[reportYear]>>**<<[ControlChar.LineBreak]>>
<<[companyName]>><<[ControlChar.ParagraphBreak]>>

**Executive Summary**<<[ControlChar.LineBreak]>>
<<[executiveSummary]>><<[ControlChar.PageBreak]>>

**Financial Overview**<<[ControlChar.LineBreak]>>
<<foreach [quarter in quarters]>>
Q<<[$index + 1]>> <<[reportYear]>>:<<[ControlChar.LineBreak]>>
Revenue:<<[ControlChar.Tab]>>$<<[quarter.revenue]:"F2">><<[ControlChar.LineBreak]>>
Expenses:<<[ControlChar.Tab]>>$<<[quarter.expenses]:"F2">><<[ControlChar.LineBreak]>>
Profit:<<[ControlChar.Tab]>>$<<[quarter.profit]:"F2">><<[ControlChar.ParagraphBreak]>>
<</foreach>>

<<[ControlChar.SectionBreak]>>

**Department Reports**<<[ControlChar.LineBreak]>>
<<foreach [dept in departments]>>
**<<[dept.name]>>**<<[ControlChar.LineBreak]>>
<<[dept.report]>><<[ControlChar.PageBreak]>>
<</foreach>>

:::Suggerimento per il test del layout Genera sempre documenti di prova con dati reali per verificare che i caratteri di controllo producano il layout desiderato. Lunghezze diverse del contenuto possono influire sulla visualizzazione di interruzioni e spaziature.

:::

:::avvertenza Interruzioni di sezione Le interruzioni di sezione creano nuove sezioni del documento con formattazione indipendente. Usale con cautela, poiché influiscono su intestazioni, piè di pagina, numerazione delle pagine e orientamento del contenuto successivo.

:::