Bạn chưa đăng nhập, đăng nhập để có trải nghiệm tốt hơn
Bạn chưa đăng nhập, đăng nhập để có trải nghiệm tốt hơn
Quy tắc hoạt động
1、Thời gian hoạt động:{{ info.groupon.start_at }} ~ {{ info.groupon.end_at }}。
1、Thời gian hoạt động:Đến khi bán hết。
2、Thời hạn mua nhóm:{{ info.groupon.expire_days * 24 }}giờ。
3、Số người mua nhóm:{{ info.groupon.need_count }}người。
Lưu ý khi mua nhóm
1、Quy trình mua nhóm: Tham gia/Bắt đầu mua nhóm và thanh toán thành công - Số người mua nhóm đáp ứng yêu cầu trong thời hạn hiệu lực - Mua nhóm thành công!
2、Nếu không đủ số người tham gia trong thời hạn hiệu lực, việc mua nhóm sẽ thất bại, số tiền đã thanh toán sẽ được hoàn lại về tài khoản cũ.
3、Số người yêu cầu và thời gian hoạt động mua nhóm có thể khác nhau tùy sản phẩm, vui lòng xem kỹ quy tắc hoạt động.
novaPDF 11 Phần mềm tạo tài liệu PDF cá nhân
novaPDF, Công cụ tạo PDF mạnh mẽ của bạn
novaPDF là một máy in PDF cho Windows cho phép bạn dễ dàng tạo các tệp PDF tiêu chuẩn công nghiệp (có thể tìm kiếm và tuân thủ PDF/A tùy chọn).
In sang PDF chưa bao giờ dễ dàng hơn, bạn chỉ cần mở tài liệu, nhấp vào "In" và chọn novaPDF làm máy in để tạo PDF.
Với novaPDF, bạn có thể dễ dàng tạo tệp PDF từ bất kỳ tài liệu có thể in nào, giống như in sang máy in vật lý. Giao diện trực quan của nó làm cho nó dễ dàng cho người mới bắt đầu sử dụng, nhưng cũng bao gồm các tính năng nâng cao cho người dùng nâng cao. Tải xuống bản dùng thử ngay bây giờ và sử dụng miễn phí trong tối đa 30 ngày.
novaPDF tương thích với các hệ điều hành sau: Windows 11, 10, 8, 7, Vista (32/64 bit); Máy chủ 2022, 2019, 2016, 2012, 2008R2
Dưới đây là một số lợi ích bạn nhận được khi sử dụng novaPDF:
Các tính năng chính
Với novaPDF, bạn có thể chuyển đổi bất kỳ loại tài liệu có thể in nào (tức là.DOCX, XLSX, PPTX, PUBX, HTML, TXT,...) sang PDF, truy cập các tính năng của nó thông qua giao diện trình điều khiển máy in.
Nếu novaPDF được cài đặt, bạn chỉ cần nhấp vào nút "In" trong bất kỳ ứng dụng Windows nào liên quan đến tài liệu để tạo PDF. Bạn cũng có thể sử dụng giao diện bắt đầu của novaPDF.
novaPDF đi kèm với phần bổ trợ cho tất cả các ứng dụng Microsoft Office: Word, Excel, PowerPoint, Publisher, Visio và Outlook. Nó có nghĩa là chuyển đổi sang PDF chỉ với một cú nhấp chuột từ các ứng dụng Office.
Một trong những lợi thế chính của add-on là khả năng chuyển đổi các siêu liên kết ẩn và dễ dàng chuyển đổi các bookmark.
Bạn có thể bảo vệ tài liệu PDF của mình (mã hóa AES 256-bit) bằng cách yêu cầu người nhận nhập mật khẩu để xem, in hoặc sao chép/dán nội dung từ PDF.
Bạn có thể kiểm soát xem bạn có thể xem, in, sửa đổi, sao chép hoặc chú thích tệp PDF hay không. Ngoài ra, bạn có thể áp dụng chữ ký số để chứng minh tính xác thực của tài liệu PDF.
Trang web chính thức:https://www.novapdf.com/compare-editions.html
Trung tâm tải xuống:https://novapdf.apsgo.cn
Tải xuống dự phòng:N/A
Thời gian vận chuyển:Xử lý con người
Chạy nền tảng:Windows
Ngôn ngữ giao diện:Hỗ trợ hiển thị giao diện tiếng Trung, đa ngôn ngữ là tùy chọn.
Hướng dẫn cập nhật:Hỗ trợ cập nhật nâng cấp phiên bản nhỏ (v11.x)
Dùng thử trước khi mua:Dùng thử miễn phí 30 ngày trước khi mua.
Cách nhận hàng:Sau khi mua, thông tin kích hoạt được gửi dưới dạng thư đến hộp thư khi đặt hàng và mã kích hoạt sản phẩm tương ứng có thể được xem trong Trung tâm Cá nhân, Đơn đặt hàng của tôi.
Số lượng thiết bị:1 máy tính có thể được cài đặt.
Thay thế máy tính:Máy tính cũ gỡ cài đặt, máy tính mới kích hoạt.
Kích hoạt Boot:Để được thêm vào.
Mô tả đặc biệt:Để được thêm vào.
Tài liệu tham khảo:https://www.novapdf.com/faq.html
Đàm phán hợp tác
Ví dụ nhiều máy in tương tự như ví dụ máy in tạm thời, nhưng nó sử dụng nhiều luồng.
Ghi chú
Để sử dụng ví dụ, bạn phải cài đặt novaPDF SDK vì các ví dụ cần nó để chạy. Click vào đây để download:nova PDF SDK
Mã nguồn
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; }