Antes de nada, se me ocurre otra opción más sencilla: instalar una impresora virtual tipo pdfcreator (este si que es para windows... pero puede que hoy dia ya exista algo mejor jeje)
Asi sacas el report como siempre pero no lo pasas a pdf desde ahí, sino le mandas imprimir 2 copias usando la impresora virtual, que te abrirá una ventana preguntando la ruta donde quieres guardarlo en pdf y ya lo tendrás con las 2 copias en el mismo archivo
Me gusta más la opción simple, pero por si le vale a alguien o si quieres ponerlo en tu documentación, dejo la explicación larga de las otras 2 opciones... porque ya la tenía escrita xD
1)
Un subreport es un elemento del report principal. Una de las propiedades de ese elemento (creo que expression) es la ruta a otro report, que se "incrusta" en el report principal en el sitio donde tu pongas el
elemento subreport (y a su vez un subreport puede tener sus propios
subreports y etc etc ;)
Seguro que ya sabes, en "paleta" tienes botones para añadir elementos.
Al seleccionar un elemento de tipo subreport, en la ventana propiedades tienes la pestaña subreport donde puedes configurarlo
La ruta puedes escribirla como tal entre comillas, pero puede dar problema en entornos multipuesto. Se suele poner asi:
$P{SUBREPORT_DIR} + "i_tusubreport.jasper"
Lo que va entre corchetes es un parámetro que puedes añadir al report. Si ves ejemplos de plantillas con subreports, encontrarás arriba de todo algo como esto:
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["../../subreports/"]]></defaultValueExpression>
</parameter>
Lo que vale aquí es el valor: "../../subreports/"
Ese valor se usa para encontrar la ruta donde tienes el subreport... el del ejemplo significa que, desde la ruta donde tengas el report, "retroceda" 2 directorios y luego "suba" a la carpeta subreports (que es la misma estructura de carpetas de los ejemplos en el GIT)
Por ejemplo, si el report principal está en /tuempresa/reports/i_facturascli, tienes que retroceder 2 directorios hasta /tuempresa y desde ahí entrar en /tuempresa/subreports... y por eso se pone "../../subreports/".... asi, aunque la ruta sea diferente en diferentes equipos que usen este report, la ruta relativa sigue siendo la misma y se puede llegar a los subreports con cualquier configuración local
Puedes poner el subreport donde tu quieras y configurar este parámetro como corresponda. Por ejemplo, para usar como subreport en una factura el report de un recibo, pondrías "../i_reciboscli/" (salir de i_facturascli y luego entrar en i_reciboscli)... metes ese subreport en la banda summary y ya tienes un modelo de factura con sus recibos/efectos incrustados, ni arguiñano cocina tan rápido ;)
La otra parte de la ruta es el nombre del report que va a hacer de subreport. Fíjate que es el report compilado (.jasper) y creo que no vale el .jrxml "normal". Puedes compilarlo con el mismo jasperstudio o ireport
Con todo eso ya tienes tu subreport dentro del report principal. Si pones varios subreports apuntando a la misma ruta, ya tienes varias copias
Por otro lado, tienes que pasarle parámetros del report al subreport, para que este sepa lo que tiene que imprimir. Normalmente se pasa el idfactura, idalbaran o lo que sea. Se configuran en el mismo sitio. El subreport toma esos parametros de la misma forma que el report principal toma los que le pasa eneboo (osea, hay que declararlos en la parte de arriba, donde normalmente verás un parametro WHERE en casi todas las plantillas para eneboo)
En el GIT puedes ver ejemplos para configurarlo y si no son suficientes tengo yo otros pocos ;)
Se pueden hacer configuraciones más complicadas, pero no creo que sea necesario si solo quieres varias copias iguales
2)
Sí, el subreport sería el report que tienes ahora
Dentro del cuadro del elemento subreport se pone "tal cual", con sus margenes y todo, asi que al report principal (este nuevo para 2 copias) ponle los márgenes = 0, para que se queden solo los que tenga el report que va a hacer de subreport (el de 1 copia)... o quitaselos al que hace de subreport, pero supongo que quieres dejarlo como está para seguir usándolo para imprimir solo 1 copia por pdf
¿qué report en blanco?
3)
pdftk es una herramienta que manipula pdf, yo hablaba de la consola de linux, pero creo que para windows tb lo hay (si no, vale cualquiera que concatene pdf y puedas "controlar" por consola, que windows debería tener también ¿?)
4)
Puede que para ti sea más sencilla la primera opción, con subreports
Pero sí, en los script .qs puedes lanzar procesos del sistema (pruébalo en windows porque mi eneboo solo conoce linux xD
Un saludo