利用PDFLIB开发库生成PDF文件

本文档介绍了如何在C++应用程序中使用PDFLIB库来生成PDF文件。首先打开文件对话框选择保存位置,然后设置PDF元信息,加载字体,设置颜色和文字位置,绘制线条并附加文件。代码示例展示了创建PDF页面、写入文本和图形,以及处理异常的流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

void CPDFXXXDlg::OnConvert()
{
 // TODO: Add your control notification handler code here
 try
 {
  int iFont;
  PDFlib pPDF;
  CFileDialog m_FileDlg(FALSE,"pdf","",OFN_OVERWRITEPROMPT,"Adobe Acrobat PDF 文件(*.pdf)|*.pdf|所有文件(*.*)|*.*||",this);
  char pFileName[255];
  
  CEdit* pPDFText=(CEdit*)GetDlgItem(IDC_EDITPDF);
  CString strPDFText;
  pPDFText->GetWindowText(strPDFText);
  char pPDFInfo[1024];
  sprintf(pPDFInfo,"%s",strPDFText);

  char pAttachFileName[255];
  sprintf(pAttachFileName,"%s",m_AttachFileName);
  if(m_FileDlg.DoModal()==IDOK)
  {
   m_PDFFileName=m_FileDlg.GetFileName();
   sprintf(pFileName,m_PDFFileName);
   if(pPDF.open_file(pFileName)==-1)
   {
    //
   }
   pPDF.set_parameter("hypertextencoding","host");
   pPDF.set_info("Creator","DigitalSky");
   pPDF.set_info("Author","DigitalTitan");
   pPDF.set_info("Title","Title");
   pPDF.begin_page((float)a4_width,(float)a4_height);
   iFont=pPDF.load_font("Helvetica-Bold","host","");
   pPDF.setfont(iFont,12);
   pPDF.set_text_pos(50,a4_height-50);
   pPDF.setcolor("fill","rgb",0,0,1,0);
   pPDF.show("Version 1.0 (C) CopyRight By Digitaltitan");
   iFont=pPDF.findfont("STSong-Light","GB-EUC-H",0);
   pPDF.setcolor("fill","rgb",0,0,0,0);
   pPDF.setfont(iFont,24);
   pPDF.continue_text("转换文档生成为");
   
   pPDF.setcolor("stroke","rgb",0.24f,0.51f,0.047f,0);
   pPDF.moveto(50,a4_height-80);
   pPDF.lineto(a4_width-50,a4_height-80);
   pPDF.moveto(50,a4_height-78);
   pPDF.lineto(a4_width-50,a4_height-78);
   pPDF.stroke();
   pPDF.attach_file(a4_width-50,0,0,a4_height-90,pAttachFileName,"DigitalSky","DigitalTitan","doc","paperclip");

   pPDF.set_text_pos(50,a4_height-100);
   iFont=pPDF.findfont("STSong-Light","GB-EUC-H",0);
   pPDF.setcolor("fill","rgb",0,0,0,0);
   pPDF.setfont(iFont,12);
   pPDF.continue_text(pPDFInfo);
   
   //

   pPDF.end_page();
   pPDF.close();
  }
 }
    catch(PDFlib::Exception &ex)
 {
  //  
    }
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值