广州视觉芯软件有限公司

广州视觉芯软件有限公司

#include "hpdf.h"

void CMainViewWnd::ExportToPDF(const CString& filePath)
{
    HPDF_Doc pdf = HPDF_New(NULL, NULL);
    if (!pdf)
    {
        AfxMessageBox(_T("Error: Cannot create PdfDoc object."));
        return;
    }

    if (HPDF_SetCompressionMode(pdf, HPDF_COMP_ALL) != HPDF_OK)
    {
        AfxMessageBox(_T("Error: Cannot set compression mode."));
        HPDF_Free(pdf);
        return;
    }

    HPDF_Page page = HPDF_AddPage(pdf);
    if (!page)
    {
        AfxMessageBox(_T("Error: Cannot create PdfPage object."));
        HPDF_Free(pdf);
        return;
    }

    HPDF_Font font = HPDF_GetFont(pdf, "Helvetica", NULL);
    if (!font)
    {
        AfxMessageBox(_T("Error: Cannot get Font."));
        HPDF_Free(pdf);
        return;
    }

    HPDF_Page_SetFontAndSize(page, font, 12);
    HPDF_Page_BeginText(page);
    HPDF_Page_MoveTextPos(page, 100, 700);
    HPDF_Page_ShowText(page, "Hello, World!");
    HPDF_Page_EndText(page);

    if (HPDF_SaveToFile(pdf, CStringA(filePath)) != HPDF_OK)
    {
        AfxMessageBox(_T("Error: Cannot save to file."));
        HPDF_Free(pdf);
        return;
    }

    HPDF_Free(pdf);
    AfxMessageBox(_T("Exported to PDF successfully."));
}

void CMainViewWnd::OnBnClickedExportToPdf()
{
    CString filePath = _T("C:\\path\\to\\save\\file.pdf");
    ExportToPDF(filePath);
}
 

03-28 15:19