로그인하지 않으셨습니다. 로그인 후 더 나은 경험을 누려보세요.
로그인하지 않으셨습니다. 로그인 후 더 나은 경험을 누려보세요.
활동 규칙
1、활동 시간:{{ info.groupon.start_at }} ~ {{ info.groupon.end_at }}。
2、그룹 구매 유효 기간:{{ info.groupon.expire_days * 24 }}시간。
3、그룹 구매 인원:{{ info.groupon.need_count }}명。
그룹 구매 주의사항
1、그룹 구매 프로세스: 참여/시작 및 결제 성공 - 유효 기간 내 요구 인원 충족 - 그룹 구매 성공!
2、유효 기간 내 활동 인원을 충족하지 못하면 그룹 구매가 실패하며, 결제 금액은 원래 경로로 환불됩니다.
3、그룹 구매 요구 인원 및 활동 시간은 상품별로 다를 수 있습니다. 활동 규칙을 확인해 주세요.
novaPDF,강력한 PDF 작성 도구
novaPDF는 Windows용 PDF 프린터로, 업계 표준 PDF 파일을 쉽게 만들 수 있습니다 (PDF / A 검색 및 옵션).
PDF로 인쇄하는 것은 결코 쉬운 일이 아닙니다. 문서를 열고 인쇄를 클릭하고 novaPDF를 프린터로 선택하면 PDF가 생성됩니다.
novaPDF를 사용하면 물리적 프린터에 인쇄하는 것처럼 인쇄 가능한 모든 문서에서 PDF 파일을 쉽게 만들 수 있습니다.직관적인 인터페이스는 초보자가 사용하기 쉽지만 고급 사용자의 고급 기능도 포함합니다.평가판을 지금 다운로드하고 최대 30일 동안 무료로 사용할 수 있습니다.
novaPDF는 Windows 11, 10, 8, 7, Vista(32/64비트)와 호환됩니다.서버 20222019201620122008R2
다음은 novaPDF를 사용할 때 얻을 수 있는 몇 가지 이점입니다.
주요 특징
novaPDF를 사용하면 인쇄 가능한 문서 유형(예:.DOCX, XLSX, PPTX, PUBX, HTML, TXT,...)을 PDF로 변환하여 프린터 드라이버 인터페이스를 통해 기능에 액세스할 수 있습니다.
novaPDF가 설치된 경우 문서와 관련된 Windows 응용 프로그램의 인쇄 버튼을 클릭하기만 하면 PDF를 만들 수 있습니다.novaPDF의 시작 인터페이스도 사용할 수 있습니다.
novaPDF에는 Word, Excel, PowerPoint, Publisher, Visio 및 Outlook이라는 모든 Microsoft Office 응용 프로그램에 대한 추가 기능이 포함되어 있습니다.즉, Office 응용 프로그램에서 한 번의 클릭으로 PDF로 변환됩니다.
추가 기능의 주요 장점 중 하나는 숨겨진 하이퍼링크를 쉽게 변환하고 책갈피를 쉽게 변환할 수 있다는 것입니다.
PDF의 컨텐트를 보거나 인쇄하거나 복사하거나 붙여넣기 위해 받는 사람에게 암호를 입력하도록 하여 PDF 문서를 보호할 수 있습니다(256비트 AES 암호화).
PDF를 보거나, 인쇄하거나, 수정하거나, 복사하거나, 주석을 달 수 있는지 여부를 제어할 수 있습니다.또한 디지털 서명을 적용하여 PDF 문서의 신뢰성을 입증할 수 있습니다.
공식 웹 사이트:https://www.novapdf.com/compare-editions.html
다운로드 센터:https://novapdf.apsgo.cn
대체 다운로드:N/A
배송 시간:수동 처리
실행 플랫폼:Windows
인터페이스 언어:중국어 인터페이스 디스플레이가 지원되며 다국어 옵션이 있습니다.
업데이트 지침:이터레이션 업그레이드 업데이트 지원(v11.x)
구입 전 평가판:구매 전 30일간 무료로 사용해 볼 수 있다.
배송 방법:구매 후, 활성화 정보는 주문 시 이메일로 발송되며, 동시에 개인 센터, 내 주문에서 해당 제품 활성화 코드를 볼 수 있다.
장치 수:컴퓨터 한 대를 설치할 수 있다.
컴퓨터 교체:원본 컴퓨터 마운트 해제, 새 컴퓨터 활성화.
부트를 활성화하려면:추가할 예정입니다.
특수 지침:추가할 예정입니다.
협력 문의
여러 프린터 예제는 임시 프린터 예제와 유사하지만 여러 스레드를 사용합니다.
메모
예제를 사용하려면 예제를 실행하려면 novaPDF SDK를 설치해야 합니다.다운로드하려면 여기를 클릭하십시오.nova PDF SDK
소스 코드
cpp // HelloWorld.cpp #include "stdafx.h" //Include novaPDF headers #include "..\..\..\include\novaOptions.h" #include "..\..\..\include\novaEvents.h" //NovaPdfOptions #include "..\..\..\include\novapi.h" #include "nova.h" //name of novaPDF Printer Demo #define PRINTER_NAME1 L"novaPDF 10 temporary printer1" #define PRINTER_NAME2 L"novaPDF 10 temporary printer2" #define PRINTER_NAME3 L"novaPDF 10 temporary printer3" #define PORT_NAME1 L"novaPDF10temp1" #define PORT_NAME2 L"novaPDF10temp2" #define PORT_NAME3 L"novaPDF10temp3" #define FILE_NAME1 L"first.pdf" #define FILE_NAME2 L"second.pdf" #define FILE_NAME3 L"third.pdf" //text to be written in the PDF file #define PDF_TEXT L"Hello world!" //PDF file name #define PDF_FILE_NAME L"HelloWorld.pdf" //Print profile name #define PROFILE_NAME L"HelloWorld Profile" #define PROFILE_IS_PUBLIC 0 typedef struct _PRT_THREAD_PARAM { WCHAR wsPrinterName[255]; WCHAR wsPortName[255]; WCHAR wsFileName[255]; } PRT_THREAD_PARAM; DWORD WINAPI PrtThreadProc(LPVOID lpParameter); HANDLE CreatePrtThread(LPWSTR p_strPrinterName, LPWSTR p_wsPortName, LPWSTR p_wsFileName); //entry point for the console application int _tmain(int argc, _TCHAR* argv[]) { HANDLE hThread1 = CreatePrtThread(PRINTER_NAME1, PORT_NAME1, FILE_NAME1); HANDLE hThread2 = CreatePrtThread(PRINTER_NAME2, PORT_NAME2, FILE_NAME2); HANDLE hThread3 = CreatePrtThread(PRINTER_NAME3, PORT_NAME3, FILE_NAME3); if (hThread1 > 0){ //wait to stop processing events WaitForSingleObject(hThread1, INFINITE); CloseHandle(hThread1); } if (hThread2 > 0){ //wait to stop processing events WaitForSingleObject(hThread2, INFINITE); CloseHandle(hThread2); } if (hThread3 > 0){ //wait to stop processing events WaitForSingleObject(hThread3, INFINITE); CloseHandle(hThread3); } return 0; } HANDLE CreatePrtThread(LPWSTR p_strPrinterName, LPWSTR p_wsPortName, LPWSTR p_wsFileName) { PRT_THREAD_PARAM* pParams; DWORD dwThreadId; // Transmit parameters for thread: pipe handle and PDF temp file name pParams = (PRT_THREAD_PARAM*)GlobalAlloc(LPTR, sizeof(PRT_THREAD_PARAM)); wcscpy_s(pParams->wsPrinterName, p_strPrinterName); wcscpy_s(pParams->wsPortName, p_wsPortName); wcscpy_s(pParams->wsFileName, p_wsFileName); // Create the thread HANDLE hThread =CreateThread( NULL, // no security attribute 0, // default stack size (LPTHREAD_START_ROUTINE) PrtThreadProc, (LPVOID) pParams, // thread parameter 0, // not suspended &dwThreadId); // returns thread ID return hThread; } DWORD WINAPI PrtThreadProc(LPVOID lpParameter) { HRESULT hr = S_OK; //initialize COM hr = CoInitialize(NULL); if (FAILED (hr)) { MessageBox(NULL, L"Failed to initialize COM", L"novaPDF", MB_OK); return hr; } // Read thread's parameter: a handle to a pipe instance and the name of the temporary PDF file PRT_THREAD_PARAM* pParams = ((PRT_THREAD_PARAM*)lpParameter); INovaPdfOptions10 *pNova = 0; hr = CoCreateInstance(__uuidof(NovaPdfOptions10), NULL, CLSCTX_INPROC_SERVER, __uuidof(INovaPdfOptions10), (LPVOID*) &pNova); if (FAILED(hr)) { MessageBox(NULL, L"Failed to create novaPDF COM object", L"novaPDF", MB_OK); return hr; } //if you have an application license for novaPDF SDK, call the RegisterLicenseKey() function //hr = pNova->RegisterLicenseKey(<register name>, <license key>, <application name>); if (SUCCEEDED(hr)) { //add temporary printer //8501 is default service port, check next registry key: //HKEY_LOCAL_MACHINE\SOFTWARE\Softland\novaPDF 10\ServicePort //nPdfSdk10_Softland is the default OEMID for novaPDF SDK change it with your license OEMID pNova->AddNovaPrinter(pParams->wsPrinterName, pParams->wsPortName, L"nPdfSdk10_Softland", L"8503", L""); // set optional PDF settings LPWSTR pwsNewProfileID = NULL; //create a new profile with default settings hr = pNova->AddProfile(PROFILE_NAME, PROFILE_IS_PUBLIC, &pwsNewProfileID); //load the newly created profile if (SUCCEEDED(hr) && pwsNewProfileID) { hr = pNova->LoadProfile(pwsNewProfileID); } else { pNova->Release(); return hr; } if (SUCCEEDED(hr) && pwsNewProfileID) { // set novaPDF options // set resulting file name pNova->SetOptionLong(NOVAPDF_SAVE_FOLDER_TYPE, SAVEFOLDER_CUSTOM); pNova->SetOptionLong(NOVAPDF_SAVE_LOCATION, LOCATION_TYPE_LOCAL); pNova->SetOptionLong(NOVAPDF_SAVE_FOLDER_TYPE, SAVEFOLDER_CUSTOM); pNova->SetOptionString(NOVAPDF_SAVE_FOLDER, L"C:\\temp\\novaPDF"); pNova->SetOptionString(NOVAPDF_SAVE_FILE_NAME, pParams->wsFileName); //do not show prompt dialog pNova->SetOptionLong(NOVAPDF_SAVE_PROMPT_TYPE, PROMPT_SAVE_NONE); //if file exists, override pNova->SetOptionLong(NOVAPDF_SAVE_FILEEXIST_ACTION, FILE_CONFLICT_STRATEGY_AUTONUMBER_NEW); //do not open pNova->DisableActionType(NOVA_ACTION_OPEN); //save profile changes hr = pNova->SaveProfile(); //set as active profile for printer pNova->SetActiveProfile(pwsNewProfileID); HANDLE hPrinter; BOOL bTimeout; PDEVMODEW pDevmode = NULL; PRINTER_DEFAULTS pd = { NULL, NULL, PRINTER_ACCESS_USE }; for (int i = 1; i <= 10; i++) { //start print job if (OpenPrinter(pParams->wsPrinterName, &hPrinter, &pd)) { //register to wait for a nova event - wait until PDf is finished pNova->RegisterNovaEvent(L"NOVAPDF_EVENT_START_DOC"); //get default printer DEVMODE int nSize = DocumentProperties(NULL, hPrinter, pParams->wsPrinterName, NULL, NULL, 0); pDevmode = (PDEVMODEW)LocalAlloc(LPTR, nSize); DocumentProperties(NULL, hPrinter, pParams->wsPrinterName, pDevmode, NULL, DM_OUT_BUFFER); //set page size in DEVMODE pDevmode->dmPaperSize = DMPAPER_USER; pDevmode->dmPaperLength = 2970;//5940; pDevmode->dmPaperWidth = 2100;//4200; pDevmode->dmFields = DM_PAPERSIZE | DM_PAPERLENGTH | DM_PAPERWIDTH; DocumentProperties(NULL, hPrinter, pParams->wsPrinterName, pDevmode, pDevmode, DM_IN_BUFFER | DM_OUT_BUFFER); //Print a page HDC hDC = CreateDC(L"", pParams->wsPrinterName, NULL, pDevmode); DOCINFO docInfo = {sizeof(DOCINFO)}; // PDF document name and path docInfo.lpszDocName = PDF_FILE_NAME; StartDoc(hDC,&docInfo); StartPage(hDC); // Draw text on page TextOut(hDC, 100, 80, PDF_TEXT, (int) wcslen(PDF_TEXT)); EndPage(hDC); EndDoc(hDC); DeleteDC(hDC); LocalFree(pDevmode); ClosePrinter(hPrinter); pNova->WaitForNovaEvent(-1, &bTimeout); } } //delete profile pNova->DeleteProfile(pwsNewProfileID); CoTaskMemFree(pwsNewProfileID); } //delete temporarry printer pNova->DeleteNovaPrinter(pParams->wsPrinterName); //release NovaPdfOptions pNova->Release(); } return 0; }