Para generar un pdf que contenga varios documentos se puede utilizar la impresora PDFCreator. Añadiendo la referencia a vuestro proyecto podréis enviar varios documentos a la impresora y cuando deseéis hacer una impresión que recoja todo lo que tenga en la cola y lo plasme en un sólo pdf.
Creé una función para ir añadiendo dichos documentos, que tenía el siguiente aspecto:
public void AddPrintJob(string FileName)
{
jobs++;
creator.cPrintFile(FileName);
}
Si os encontráis con que mandáis varios documentos seguidos y luego, en el pdf final, os aparecen en distinto orden al que los habéis mandado, añadid el siguiente código a la función anterior:
public void AddPrintJob(string FileName)
{
jobs++;
creator.cPrintFile(FileName);
while (creator.cCountOfPrintjobs != jobs)
{
}
}
El bucle simplemente esperará hasta que la impresora pdf (en este caso “creator”) haya añadido el documento a la cola de impresión.