#include <windows.h>
int main() {
// Nombre de la impresora (puedes encontrarlo en la configuración de impresoras)
const wchar_t* nombreImpresora = L"NombreDeTuImpresora";
// Nombre del archivo que deseas imprimir
const wchar_t* nombreArchivo = L"archivo.txt";
// Configurar la estructura de impresión
DOC_INFO_1 docInfo;
docInfo.pDocName = L"Documento";
docInfo.pOutputFile = nullptr;
docInfo.pDatatype = nullptr;
// Inicializar la impresora
HANDLE impresora = nullptr;
if (OpenPrinter(nombreImpresora, &impresora, nullptr)) {
// Inicializar el documento para impresión
if (StartDocPrinter(impresora, 1, reinterpret_cast<LPBYTE>(&docInfo))) {
// Abrir la página para imprimir
if (StartPagePrinter(impresora)) {
// Leer el contenido del archivo y escribirlo en la página
FILE* archivo = _wfopen(nombreArchivo, L"rb");
if (archivo != nullptr) {
char buffer[1024];
size_t bytesRead;
while ((bytesRead = fread(buffer, 1, sizeof(buffer), archivo)) > 0) {
DWORD bytesWritten;
WritePrinter(impresora, buffer, static_cast<DWORD>(bytesRead), &bytesWritten);
}
fclose(archivo);
}
// Finalizar la página de impresión
EndPagePrinter(impresora);
}
// Finalizar el documento de impresión
EndDocPrinter(impresora);
}
// Cerrar la impresora
ClosePrinter(impresora);
}
return 0;
}