import { pdf } from 'pdf-to-img';

interface PageImage {
  pageNumber: number;
  imageBase64: string;
  width: number;
  height: number;
}

/**
 * Convertit un PDF (buffer) en images JPEG
 * Solution ultra simple avec pdf-to-img
 */
export async function convertPdfToJpegImages(
  pdfBuffer: Buffer,
  targetWidth: number = 1400
): Promise<PageImage[]> {
  try {
    console.log('[PDF Converter] Début conversion, taille buffer:', pdfBuffer.length);

    const pages: PageImage[] = [];
    
    // Convertir le PDF en images
    const document = await pdf(pdfBuffer, {
      scale: 2.0, // Haute résolution
    });

    let pageNum = 1;
    for await (const page of document) {
      // page est déjà un Buffer PNG
      const imageBase64 = `data:image/png;base64,${page.toString('base64')}`;
      
      pages.push({
        pageNumber: pageNum,
        imageBase64,
        width: targetWidth,
        height: Math.round(targetWidth * 1.414), // Ratio A4 approximatif
      });

      console.log(`[PDF Converter] Page ${pageNum} convertie`);
      pageNum++;
    }

    console.log(`[PDF Converter] ${pages.length} page(s) converties avec succès`);
    return pages;
  } catch (error) {
    console.error('[PDF Converter] Erreur:', error);
    throw new Error(`Erreur de conversion PDF: ${error instanceof Error ? error.message : 'Erreur inconnue'}`);
  }
}


