English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Reportistica
  • Libreria Book
  • Metodi

Open Multi PDF

procedura copia link

Scopo

Questa procedura comunica al motore di stampa che deve prepararsi per la stampa di un PDF che conterrà più copie del book. Dopo la chiamata alla procedura OpenMultiPDF le chiamate al metodo Print del book stampano all'interno del PDF multiplo oltre che nel proprio PDF singolo.

Questo metodo è molto utile qualora il book sia stato disegnato per stampare un singolo oggetto (ordine, fattura, anagrafica utente, etc.) e si voglia generare un PDF contenente più documenti (ordini, fatture, dati anagrafica utenti, etc.).

Sintassi

// Inizio una stampa multipla
BookProdottiCategoria.OpenMultiPDF(nome file)

Argomenti

Nome File Parametro stringa opzionale che indica al book il nome che dovrà essere dato al file PDF. Se non viene specificato il framework genererà un PDF con un nome casuale

Esempio di codice

// Se è visibile la multi-selezione, attivo la stampa multipla
if Categorie.ShowMultipleSelection
{
  int riga = 1        // 
  int CatSelected = 0 // 
  // 
  // Inizio una stampa multipla. Non fornisco alcun nome di file. Il framework ne
  // genererà uno casuale

  BookProdottiCategoria.OpenMultiPDF(??)
  // 
  // Giro sulle righe del pannello alla ricerca di quelle selezionate

  for each row (Categorie)
  {
    record Prodotto
      int IDCategoria               // 
      string NomeCategoriaCategorie // 
      string DescrizioneCategorie   // 
      string ImmagineCategorie      // 
    // 
    // Se la riga corrente è selezionata

    if Categorie.IsRowSelected(riga)
    {
      // Informo il motore di stampa che questo book, contenuto in una stampa
      // multipla, ha questo titolo

      BookProdottiCategoria.Bookmark := Prodotto.NomeCategoriaCategorie
      // 
      // Stampo il book, accodandolo alla stampa multipla

      Filtro.Idcategoria := Prodotto.IDCategoria
      BookProdottiCategoria.RefreshQuery()
      BookProdottiCategoria.Print(ONE, C-1)
      // 
      // Conto le categorie selezionate

      CatSelected := CatSelected + ONE
    }
    riga := riga + ONE
  }
  // 
  // Se è stata selezionata almeno una riga

  if CatSelected > ZERO
  {
    string PDFFile = "" // 
    // 
    // Chiudo la stampa multipla e chiedo al motore di stampa di fornire il nome
    // del PDF risultato

    PDFFile := BookProdottiCategoria.CloseMultiPDF()
    // 
    // Apro il PDF risultato

    EsempiLB.OpenDocument(PDFFile, ??, ??)
  }
  else  // Non è stato selezionato nulla... segnalo l'errore
  {
    EsempiLB.MessageBox(MSG selezionare categoria)
  }
}
  • Il parametro FileName è opzionale. Se non viene fornito il framework genera un nome casuale con estensione pdf.
  • Per ottenere il nome del file PDF utilizzato è necessario, dopo aver effettuato tutte le stampe singole mediante il metodo Print del book, chiamare la funzione CloseMultiPDF. Tale funzione restituisce il nome del file PDF prodotto dalla stampa multipla.
  • Durante la stampa multipla vengono stampati anche i PDF dei singoli documenti. Questo può essere molto utile qualora sia necessario avere anche tutti i PDF dei singoli documenti oltre al PDF multiplo. Per conoscere il nome del PDF singolo prodotto durante la stampa multipla è sufficiente leggere la proprietà OutputFileName del book dopo la chiamata al metodo Print.

Ultima modifica: 23/03/2021 / Validità: da 6.5.2680

Vedi Anche

  • Print (procedura)
  • Close Multi PDF (funzione)
  • Output File Name (proprietà)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum