Hola Rolando,
para multiples headers con la clase Report creo que no podras hacerlo, habria que ver de modificarla, pero para el tema de los QR puede crearlos en memoria y utilizarlos desde diferentes lugares, yo lo hago utilizando la clade codebar
//------------------------------------------------------------------------------
FUNCTION generarQR( id )
//------------------------------------------------------------------------------
聽 聽LOCAL oBmp, hDib, i, oFactura, qr
聽 聽ADS_SQL(" SELECT factura, cuf FROM facturas WHERE id = $1 ", { id }, "fff" )
聽 聽qr := "https://siat.impuestos.gob.bo/consulta/QR?nit=10000000&cuf=" + ALLTRIM(fff->cuf) + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "&numero=" + ALLTRIM(STR(fff->factura)) + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "&t=2"
聽 聽oBmp := getQR( qr )
聽 聽hDib = DibFromBitmap( oBmp:hBitMap )
聽 聽M -> codigoQR := DibToStr( hDib )
聽 聽GlobalFree( hDib )
聽 聽DeleteObject( oBmp )
聽 聽fff -> ( DBCLOSEAREA() ) 聽
聽 聽RETURN M -> codigoQR
//------------------------------------------------------------------------------
function getQR( cCode )
聽 聽local oBmp
聽 聽oCode := TCodeBars():New()
聽 聽oBmp = TBitmap():Define()
聽 聽oBmp:hBitMap := buildCOde( cCode, HB_ZEBRA_FLAG_QR_LEVEL_M )
return oBmp
//------------------------------------------------------------------------------
function BuildCode( cCode, nFlags )
聽 聽LOCAL hDC := GetDC( GetDesktopWindow() )
聽 聽default nFlags := 0
聽 聽oCode:Reset()
聽 聽oCode:nHeightCode = 4//4.5
聽 聽oCode:nWidthCode 聽= 4//4.5
聽 聽oCode:SetType( 14 )
聽 聽oCode:SetCode( cCode )
聽 聽oCode:SetFlags( nFlags )
聽 聽oCode:Build()
聽 聽ReleaseDC( GetDesktopWindow(), hDC )
return oCode:hCodeBar