⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pdfcmdsampledlg.cpp

📁 i am server im imi mim im im
💻 CPP
📖 第 1 页 / 共 4 页
字号:
				m_pPDFDocInfo->DeleteCustomDocInfo(bstrdeldey);	
			}
			for(int ai=dicount;ai<getdocinfodlg.m_cdocinfocount;ai++)
			{
				bSave = TRUE;
				BSTR bstradd1=_bstr_t(getdocinfodlg.titlename1[ai]);
				BSTR bstradd2=_bstr_t(getdocinfodlg.titlename2[ai]);
				m_pPDFDocInfo->AddCustomDocInfo(bstradd1,bstradd2);
			}
			CString CompareS;
			m_pPDFDocInfo->get_Title(&titlename);
			try
			{
				CompareS = _com_util::ConvertBSTRToString(titlename);
			}
			catch (_com_error e)
			{
				e.Description();
			}
			if (CompareS!=getdocinfodlg.m_title) 
			{
				bSave = TRUE;
				m_pPDFDocInfo->put_Title(_bstr_t(getdocinfodlg.m_title));
			}
			hr=m_pPDFDocInfo->get_Author(&titlename);
			try
			{
				CompareS = _com_util::ConvertBSTRToString(titlename);
			}
			catch (_com_error e)
			{
				e.Description();
			}
			if (CompareS!=getdocinfodlg.m_author) 
			{
				bSave = TRUE;
				m_pPDFDocInfo->put_Author(_bstr_t(getdocinfodlg.m_author));
			}
			hr=m_pPDFDocInfo->get_Keyword(&titlename);
			try
			{
				CompareS = _com_util::ConvertBSTRToString(titlename);
			}
			catch (_com_error e)
			{
				e.Description();
			}
			if (CompareS!=getdocinfodlg.m_keyword) 
			{
				bSave = TRUE;
				m_pPDFDocInfo->put_Keyword(_bstr_t(getdocinfodlg.m_keyword));
			}
			m_pPDFDocInfo->get_Subject(&titlename);
			try
			{
				CompareS = _com_util::ConvertBSTRToString(titlename);
			}
			catch (_com_error e)
			{
				e.Description();
			}
			if (CompareS!=getdocinfodlg.m_keyword) 
			{
				bSave = TRUE;
				m_pPDFDocInfo->put_Subject(_bstr_t(getdocinfodlg.m_subject));
			}
		}
	}
	else
		AfxMessageBox("You have not open a file!");
}

void CPDFCMDSampleDlg::OnDocuOpenoption() 
{
	// TODO: Add your command handler code here
	LayoutEnum enumlayout;
	InitWindowEnum enuminitwindow;
	NavigationPaneEnum enumnavigationpane;
	MagnificationEnum enumMagnification;
	COpenOptionSetting openoptiondlg;
	try
	{
		m_pPDFOpenOptionSetting->get_InitialPage(&openoptiondlg.m_initialpage);
		m_pPDFOpenOptionSetting->get_Layout(&enumlayout);
		openoptiondlg.llayout = enumlayout;
		m_pPDFOpenOptionSetting->get_InitialWindow(&enuminitwindow);
		openoptiondlg.linitwindow = enuminitwindow;
		m_pPDFOpenOptionSetting->get_NavigationPane(&enumnavigationpane);
		openoptiondlg.lnavigationpane = enumnavigationpane;
		m_pPDFOpenOptionSetting->get_HideControl((VARIANT_BOOL*)&openoptiondlg.m_hidecontrol);
		m_pPDFOpenOptionSetting->get_HideMenubar((VARIANT_BOOL*)&openoptiondlg.m_hidemenubar);
		m_pPDFOpenOptionSetting->get_HideToolbar((VARIANT_BOOL*)&openoptiondlg.m_hidetoolbar);
		m_pPDFOpenOptionSetting->get_ShowDocumentTitle((VARIANT_BOOL*)&openoptiondlg.m_showdoctitle);
		m_pPDFOpenOptionSetting->get_Magnification(&(openoptiondlg.lmagnification));
	}
	catch (_com_error e) 
	{
		AfxMessageBox(e.Description());
	}
	if(openoptiondlg.m_hidecontrol > 0) 
		openoptiondlg.m_hidecontrol = 1;
	if(openoptiondlg.m_hidemenubar > 0) 
		openoptiondlg.m_hidemenubar = 1;
	if(openoptiondlg.m_hidetoolbar > 0) 
		openoptiondlg.m_hidetoolbar = 1;
	if(openoptiondlg.m_showdoctitle > 0) 
		openoptiondlg.m_showdoctitle = 1;
	if(openoptiondlg.DoModal() == IDOK)
	{
		switch(openoptiondlg.llayout)
		{
		case 0:
			enumlayout = Layout_Default;
			break;
		case 1:
			enumlayout = Layout_SinglePage;
			break;
		case 2:
			enumlayout = Layout_ContinuousPage;
			break;
		case 3:
			enumlayout = Layout_FacingPage;
			break;
		}
		switch(openoptiondlg.linitwindow)
		{
		case 0:
			enuminitwindow = IW_Default;
			break;
		case 1:
			enuminitwindow = IW_FitWindow;
			break;
		case 2:
			enuminitwindow = IW_CenterWindow;
			break;
		case 3:
			enuminitwindow = IW_FullScreen;
			break;
		}
		switch(openoptiondlg.lnavigationpane)
		{
		case 0:
			enumnavigationpane = NP_None;
			break;
		case 1:
			enumnavigationpane = NP_Bookmark;
			break;
		case 2:
			enumnavigationpane = NP_Thumbnail;
			break;
		}
		switch(openoptiondlg.lmagnification) 
		{
		case 0:
			enumMagnification = Scale_Default;
			break;
		case 1:
			enumMagnification = Scale_FitVisible;
			break;
		case 2:
			enumMagnification = Scale_FitWidth;
			break;
		case 3:
			enumMagnification = Scale_FitInWindow;
			break;
		case 4:
			enumMagnification = Scale_25;
			break;
		case 5:
			enumMagnification = Scale_50;
			break;
		case 6:
			enumMagnification = Scale_75;
			break;
		case 7:
			enumMagnification = Scale_100;
			break;
		case 8:
			enumMagnification = Scale_125;
			break;
		case 9:
			enumMagnification = Scale_150;
			break;
		case 10:
			enumMagnification = Scale_200;
			break;
		case 11:
			enumMagnification = Scale_400;
			break;
		case 12:
			enumMagnification = Scale_800;
			break;
		case 13:
			enumMagnification = Scale_1600;
			break;
		}
		try
		{			
			m_pPDFOpenOptionSetting->put_InitialPage(openoptiondlg.m_initialpage);
			m_pPDFOpenOptionSetting->put_Layout(enumlayout);
			m_pPDFOpenOptionSetting->put_InitialWindow(enuminitwindow);
			m_pPDFOpenOptionSetting->put_NavigationPane(enumnavigationpane);
			m_pPDFOpenOptionSetting->put_HideControl(openoptiondlg.m_hidecontrol);
			m_pPDFOpenOptionSetting->put_HideMenubar(openoptiondlg.m_hidemenubar);
			m_pPDFOpenOptionSetting->put_HideToolbar(openoptiondlg.m_hidetoolbar);
			m_pPDFOpenOptionSetting->put_ShowDocumentTitle(openoptiondlg.m_showdoctitle);
			m_pPDFOpenOptionSetting->put_Magnification(enumMagnification);
		}
		catch (_com_error e) 
		{
			AfxMessageBox(e.Description());
		}
	}
}

void CPDFCMDSampleDlg::OnDocuSecurity() 
{
	// TODO: Add your command handler code here
	CSecuritySetting securitydlg(m_pPDFSecuritySetting);
	if(bFileOpened) 
	{
		BSTR bstropenpassword=NULL,bstrownerpassword=NULL;
		long lpcan=0;
		EncryptionLevelEnum enumencryptionlevel;
		ChangesAllowedEnum enumchangeallowed;
		PrintingAllowedEnum enumprintallowed;
		int isel=0;
		char strtitle[2048] = {0} ;
		VARIANT_BOOL vbr=0;
		try
		{
			m_pPDFSecuritySetting->get_open_password(&bstropenpassword);
			m_pPDFSecuritySetting->get_owner_password(&bstrownerpassword);
			wsprintf( strtitle,	"%S",bstropenpassword);
			CString passwstr(bstrownerpassword);
			securitydlg.m_openpassword = strtitle;
			securitydlg.m_ownerpassword = passwstr;
			m_pPDFSecuritySetting->get_canAnnotate(&vbr);
			securitydlg.m_canannotate = vbr;
			m_pPDFSecuritySetting->get_canContentAccessForVisuallyImpaired(&vbr);
			securitydlg.m_cancontentaforvi = vbr;
			m_pPDFSecuritySetting->get_canContentCopyAndExtraction(&vbr);
			securitydlg.m_cancontentce = vbr;
			m_pPDFSecuritySetting->get_canModify(&vbr);
			securitydlg.m_canmodify = vbr;
			m_pPDFSecuritySetting->get_canCopy(&vbr);
			securitydlg.m_cancopy = vbr;
			m_pPDFSecuritySetting->get_canPrint(&vbr);
			securitydlg.m_canprint = vbr;
			m_pPDFSecuritySetting->get_encryptionLevel(&enumencryptionlevel);
			securitydlg.lencryptionlevel = enumencryptionlevel;
			m_pPDFSecuritySetting->get_changesAllowed(&enumchangeallowed);
			securitydlg.lchangeallowed = enumchangeallowed;
			m_pPDFSecuritySetting->get_printingAllowed(&enumprintallowed);
			securitydlg.lprintallowed = enumprintallowed;
			UpdateData(false);
		}
		catch (_com_error e)
		{
			AfxMessageBox(e.Description());
		}
		if(securitydlg.DoModal() == IDOK)
		{
			try
			{
				switch(securitydlg.lencryptionlevel)
				{
				case 0:
					enumencryptionlevel = EL_40Bits;
					break;
				case 1:
					enumencryptionlevel = EL_128Bits;
					break;
				}
				switch (securitydlg.lchangeallowed)
				{
				case 0:
					enumchangeallowed = CA_NOT_ALLOWED;
					break;
				case 1:
					enumchangeallowed = CA_ONLY_DOCUMENT;
					break;
				case 2:
					enumchangeallowed = CA_ONLY_FORM;
					break;
				case 3:
					enumchangeallowed = CA_COMMENT_AUTHOR;
					break;
				case 4:
					enumchangeallowed = CA_GENERAL;
					break;
				}
				switch (securitydlg.lprintallowed)
				{
				case 0:
					enumprintallowed = PA_NOT_ALLOWED;
					break;
				case 1:
					enumprintallowed = PA_LOW_RESOLUTION;
					break;
				case 2:
					enumprintallowed = PA_FULL_ALLOWED;
					break;
				}
				m_pPDFSecuritySetting->put_open_password(_bstr_t(securitydlg.m_openpassword));
				m_pPDFSecuritySetting->put_owner_password(_bstr_t(securitydlg.m_ownerpassword));
				m_pPDFSecuritySetting->put_canAnnotate(securitydlg.m_canannotate);
				m_pPDFSecuritySetting->put_canContentAccessForVisuallyImpaired(securitydlg.m_cancontentaforvi);
				m_pPDFSecuritySetting->put_canContentCopyAndExtraction(securitydlg.m_cancontentce);
				m_pPDFSecuritySetting->put_canCopy(securitydlg.m_cancopy);
				m_pPDFSecuritySetting->put_canModify(securitydlg.m_canmodify);
				m_pPDFSecuritySetting->put_canPrint(securitydlg.m_canprint);
				m_pPDFSecuritySetting->put_encryptionLevel(enumencryptionlevel);
				m_pPDFSecuritySetting->put_changesAllowed(enumchangeallowed);
				m_pPDFSecuritySetting->put_printingAllowed(enumprintallowed);
				m_pPDFSecuritySetting->SetSecurity();
			}
			catch (_com_error e) 
			{
				AfxMessageBox(e.Description());
			}
		}
	}
}

void CPDFCMDSampleDlg::OnPageNew() 
{
	// TODO: Add your command handler code here
	long a = -1 ;
	if(bFileOpened)
	{
		bSave = TRUE;
		try
		{
			m_pPDFPageEdit->CreateNewPage(-1,600,800);
			
		}
		catch (_com_error e) 
		{
			AfxMessageBox(e.Description());
		}
	}
	else
	{
		AfxMessageBox("You have to open or create a PDF file before creating a new page!");
	}
}

void CPDFCMDSampleDlg::OnPageOpen() 
{
	// TODO: Add your command handler code here
	long lPageNo;
	CPageEditDlg PageEditDlg;
	if( bFileOpened )
	{
		
		if(PageEditDlg.DoModal()==IDOK)
		{
			UpdateData(TRUE);
			lPageNo=PageEditDlg.m_pageno;
		}
		try
		{
			m_pPDFPageEdit->Open(lPageNo);
			bPageOpened=TRUE;
		}
		catch(_com_error e)
		{
			AfxMessageBox(e.Description());
		}
	}
	else
	{
		AfxMessageBox("You must open a PDF file.");
		return;
	}
}

void CPDFCMDSampleDlg::OnPageRotate() 
{
	// TODO: Add your command handler code here
	if(bFileOpened&&bPageOpened)
	{
		try
		{
			m_pPDFPageEdit->Rotate(90);
		}
		catch(_com_error e)
		{
			AfxMessageBox(e.Description());
		}
	}
	else
		AfxMessageBox("You have not open a file or a page!");	
}

void CPDFCMDSampleDlg::OnPageCrop() 
{
	// TODO: Add your command handler code here
	CCropPageDlg croppagedlg;
	if(bFileOpened&&bPageOpened)
	{ 
		if(croppagedlg.DoModal() == IDOK)
		{
			try
			{
				m_pPDFPageEdit->Crop(croppagedlg.m_left,croppagedlg.m_top,
					croppagedlg.m_right,croppagedlg.m_button);
			}
			catch(_com_error e)
			{	
				AfxMessageBox(e.Description());
			}
		}
	}
	else
		AfxMessageBox("You have not open a file or a page!");
}

void CPDFCMDSampleDlg::OnPageInsert() 
{
	// TODO: Add your command handler code here
	CFileDialog FileDlg( TRUE, _T("pdf"), NULL, OFN_FILEMUSTEXIST|OFN_OVERWRITEPROMPT, _T("PDF Files (*.pdf)|*.pdf||") ) ;
	_bstr_t Path;
	m_pSrcdoc = m_pPDFCmd->CreateFileEditInterface();
	m_pSrcPage = m_pSrcdoc->CreatePageEditInterface();
	if(bFileOpened&&bPageOpened)
	{
		if(FileDlg.DoModal())
		{
			if(!FileDlg.GetPathName().IsEmpty())
			{
				Path = FileDlg.GetPathName();
				m_pSrcdoc->Open(Path,"","");
				m_pSrcPage->Open(0);
			}
		}
		try
		{
			m_pPDFPageEdit->Insert(m_pSrcPage);
		}
		catch(_com_error e)
		{
			AfxMessageBox(e.Description());
		}
		if(m_pSrcdoc != NULL)
		{
			try
			{	
				m_pSrcPage->Close();
				m_pSrcPage.Release();
				m_pSrcdoc->Close();
				m_pSrcdoc.Release();
			}
			catch (_com_error e) 
			{
				AfxMessageBox(e.Description());
			}
			UpdateData(FALSE);
		}
	}
	else
	{
		AfxMessageBox("You must open a PDF file for insertting or open a page of the source file.");
		return;
	}
}

void CPDFCMDSampleDlg::OnPageDelete() 
{
	// TODO: Add your command handler code here
	if(bFileOpened&&bPageOpened)
	{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -