#include <windows.h>
#include <iostream>
#include <fstream>
void ImprimirArchivo(const std::string& nombreArchivo) {
// Abre el archivo
std::ifstream archivo(nombreArchivo);
if (!archivo.is_open()) {
std::cerr << "No se pudo abrir el archivo." << std::endl;
return;
}
// Lee el contenido del archivo
std::string contenido((std::istreambuf_iterator<char>(archivo)), std::istreambuf_iterator<char>());
archivo.close();
// Configura la impresora
HANDLE hPrinter;
DOCINFO di;
ZeroMemory(&di, sizeof(DOCINFO));
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = "Documento de prueba";
// Abre la impresora
if (!OpenPrinter("NombreDeTuImpresora", &hPrinter, NULL)) {
std::cerr << "No se pudo abrir la impresora." << std::endl;
return;
}
// Inicia el trabajo de impresión
StartDoc(hPrinter, &di);
StartPage(hPrinter);
// Imprime el contenido
DWORD bytesEscritos;
WritePrinter(hPrinter, contenido.c_str(), contenido.size(), &bytesEscritos);
// Finaliza el trabajo de impresión
EndPage(hPrinter);
EndDoc(hPrinter);
ClosePrinter(hPrinter);
}
int main() {
std::string nombreArchivo = "ruta/al/tu/archivo.txt"; // Cambia esto a la ruta de tu archivo
ImprimirArchivo(nombreArchivo);
return 0;
}