How to remove 256 Bit AES Security from PDF file?

Hey, I just open a password restricted PDF file and PDF remover asks me for the password of the file. So I cannot remove the password without knowing the password, which doesn't make sense to me. Did something change recently? I could use the software previously on other PDFs.

Customer
-----------------------------------
We apologize for any inconvenience this may have caused to you. Can you please send to us your sample PDF file(s) and your Order ID (if you have)? after we check your sample file(s), we will figure out a solution to you shortly.

VeryPDF
-----------------------------------
Hi,

I cannot give you the PDF since it’s forbidden for me to give it to anybody else. I only use the password removal to be able to better work with the PDF (annotate etc.). But I can give you hints what it could be. The PDF was created with PDF Creator, which had a recent update of their security options:

PDF24 Creator 8.5.0 was released today. The new version brings new features and is available for download.

Changes:

• Feature: PDF/A-3 format added
• Feature: 256 Bit AES security integrated
• Feature: File name query in the mail function
• Optimization: Better hint dialog when a file cannot be converted

Enjoy the new version with the already expected 256 Bit AES feature.

It seems, that the new encryption method cannot be removed with your software!?
Previous PDFs create with the same software, but probably an earlier version worked for me (I could remove the passwords from that files).

Thanks & Kind Regards,
Customer
-----------------------------------
It seems your PDF file was encrypted by 256 Bit AES security, you can use our Online Version of PDF Password Remover, our Online Version of PDF Password Remover does remove 256 Bit AES security from PDF file properly, you may test it from this web page,

http://www.verypdf.com/online/free-online-pdf-password-remover.php

image

VeryPDF

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)
Posted in PDF Password Remover | Tagged , , , | Leave a comment

How to stamp Unicode text with opacity using pdfStamp.dll?

I want to stamp unicode text with opacity from my application.
I did successfully stamp unicode text and opacity using the following links, but not at the same time.

Can we add opacity into the following example?
http://www.verypdf.com/wordpress/201605/how-to-stamp-unicode-characters-to-pdf-pages-using-pdfstamp-dll-from-vb6-42669.html

Or
Can we add unicode text into the following example?
http://www.verypdf.com/wordpress/201311/opacity-in-pdf-stamp-sdkcomdll-library-version-39315.html

Or
any other suggestion please?

I know this can be done by command line version,
But my boss preferred to use dll version.

Customer
-------------------------------------------------------

image
Thanks for your message, you can use PDFStampWriteTextExW() function to stamp unicode text stamp to PDF pages, for example,

#include <stdio.h>
#include <Windows.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <windowsx.h>

typedef enum
{
    /*----------------------- 8 bit code pages ------------------------*/
    cp1250,
    cp1251,
    cp1252,
    cp1253,
    cp1254,
    cp1255,
    cp1256,
    cp1257,
    cp1258,
    cp8859_2,
    cp8859_3,
    cp8859_4,
    cp8859_5,
    cp8859_6,
    cp8859_7,
    cp8859_8,
    cp8859_9,
    cp8859_10,
    cp8859_13,
    cp8859_14,
    cp8859_15,
    cp8859_16,
    cpSymbol,
    cp437,
    cp737,
    cp775,
    cp850,
    cp852,
    cp855,
    cp857,
    cp860,
    cp861,
    cp862,
    cp863,
    cp864,
    cp865,
    cp866,
    cp869,
    cp874,
    cpUnicode,       
    cpCJK_Big5_Uni,    // Big5 plus HKSCS extension.
    cpCJK_EUC_JP_Uni,  // EUC-JP.
    cpCJK_EUC_KR_Uni,  // EUC-KR.
    cpCJK_EUC_TW_Uni,  // CNS-11643-1992 (Planes 1-15).
    cpCJK_GBK_Uni,     // GBK is the Microsoft code page 936 (GB2312, EUC-CN plus GBK extension).
    cpCJK_GB12345_Uni, // GB-12345-1990 (Traditional Chinese form of GB-2312).
    cpCJK_HZ_Uni,      // Mixed ASCII / GB-2312 encoding
    cpCJK_2022_CN_Uni, // ISO-2022-CN-EXT (GB-2312 plus ISO-11643 Planes 1-7).
    cpCJK_2022_JP_Uni, // ISO-2022-JP.
    cpCJK_2022_KR_Uni, // ISO-2022-KR.
    cpCJK_646_CN_Uni,  // ISO-646-CN (GB-1988-80).
    cpCJK_646_JP_Uni,  // ISO-646-JP (JIS_C6220-1969-RO).
    cpCJK_IR_165_Uni,  // ISO-IR-165 (extended version of GB-2312).
    cpCJK_932_Uni,     // Microsoft extended version of SHIFT_JIS.
    cpCJK_949_Uni,     // EUC-KR extended with UHC (Unified Hangul Codes).
    cpCJK_950_Uni,     // Microsoft extended version of Big5.
    cpCJK_JOHAB_Uni,   // JOHAB.       
    cpShiftJIS,     // ShiftJIS charset plus code page 932 extension.
    cpBig5,         // Big5 plus HKSCS extension.
    cpGB2312,       // GB2312 charset plus GBK and cp936 extension.
    cpWansung,      // Wansung
    cpJohab,        // Johab
    cpMacRoman,     // Mac Roman
    cpAdobeStd,     // This is an encoding for Type1 fonts. It should normally not be used.
    cpInternal,     // Internal -> not usable
    cpGlyphIndexes, // Can be used with TrueType and OpenType fonts only. DynaPDF creates a reverse mapping so that copy & paste will work.
    cpPDFDocEnc,    // Internal -> not usable. Used for form fonts. This is a superset of the code page 1252 and MacRoman.
    cpExtCMap,      // Internal -> not usable. This code page is set when a font was loaded with an external cmap.
    cpDingbats      // Internal -> Special encoding for ZapfDingbats
}TCodepage;

//define for VerySetFunction
#define Very_Set_Range                131
#define Very_Get_PdfPageCount        206
#define Very_Get_PageBoxForStamp    260
#define Very_Set_Text_Leading        134
#define Very_Set_Opacity            240
#define Very_Set_EmbedFont            241
#define Very_Get_EmbedFont            241
#define Very_Set_TransparentColor    242
#define Very_Set_ImageLossless        243
#define Very_Set_InsertMultipleImageCopy    244

#define fsNone           0x00000000 // Regular weight (400)
#define fsNormal         0x00000500 // 5
#define fsItalic         0x00000001
#define fsBold           0x2BC00000 // 700 -> The old constant 2 is still supported to preserve backward compatibility

typedef long    (__stdcall *VeryStampRegFunc)(char *reg);
typedef long    (__stdcall *VeryStampLayerOpenFunc)(char *In, char *Out, char *lpFGLayerName,char *lpBGLayerName);
typedef long    (__stdcall *VeryStampOpenFunc)(char *In,char *Out);
typedef void    (__stdcall *VeryStampCloseFunc)(long id);
typedef long    (__stdcall *VeryStampSetFunctionFunc)(long id,long func_code,long para1,long para2,char *para3,char *para4);
typedef long    (__stdcall *VeryStampGetFunctionFunc)(long id,long func_code,long para1,long para2,char *para3,char *para4);
typedef long    (__stdcall *VeryStampAddImageFunc)(long id,long position,
                                                   char *filename,
                                                   long shift_lr,long shift_tb,long rotate,long layer,
                                                   long zoomW,long zoomH,
                                                   long action,char *link,long pageno);
typedef long    (__stdcall *VeryStampAddImageExFunc)(long id,long position, char *filename,
                                                     long shift_lr,long shift_tb,long rotate,long layer,
                                                     long width,long height,
                                                     long action,char *link,long pageno);
typedef long    (__stdcall *VeryStampAddTextFunc)(long id,long position,
                                                  char *string, long color,long alignment,
                                                  long shift_lr,long shift_tb,long rotate,long layer,
                                                  long hollow, long fontcode,char *fontname,long fontsize,
                                                  long action,char *link,long pageno);

typedef long    (__stdcall *VeryStampAddLineFunc)(long id,long position, long width,long color,
                                                  long shift_lr,long shift_tb,long rotate,long layer,
                                                  long zoomW,long zoomH);
typedef long    (__stdcall *VeryStampAddRectFunc)(long id,long sx_,long sy_,long ex_,long ey_,
                                                  long side_width,long side_color,
                                                  long flagFill,long fill_color);
typedef long    (__stdcall *VeryStampAddCircleFunc)(long id,long x,long y, long radius,
                                                    long side_width,long side_color,
                                                    long flagFill,long fill_color);
typedef long    (__stdcall *VeryStampAddEllipseFunc)(long id,long sx_,long sy_,long ex_,long ey_,
                                                     long side_width,long side_color,
                                                     long flagFill,long fill_color);
typedef long    (__stdcall *VeryStampAddCurveToFunc)(long id,long sx_,long sy_,long x1,long y1,
                                                     long x2,long y2,long x3,long y3,
                                                     long side_width,long side_color);

typedef long    (__stdcall *VeryStampAddRectWithLayerFunc)(long id,long sx_,long sy_,long ex_,long ey_,
                                                           long side_width,long side_color,
                                                           long flagFill,long fill_color,long layer);
typedef long    (__stdcall *VeryStampUndoFunc)(char *filename);
typedef long    (__stdcall *VeryStampAddLineExFunc)(long id,long sx,long sy,long ex,long ey,long width,long color);
typedef long    (__stdcall *VeryStampIsStampedFunc)(char *lpPDFFile);

typedef long (__stdcall *VeryStampForm_AllocFunc)();
typedef long (__stdcall *VeryStampForm_FreeFunc)(long id);
typedef long (__stdcall *VeryStampForm_SetTextFieldFunc)(long id, LPCTSTR lpFieldName, LPCTSTR lpFieldValue);
typedef long (__stdcall *VeryStampForm_SetCheckBoxFunc)(long id, LPCTSTR lpFieldName, LPCTSTR lpFieldValue);
typedef long (__stdcall *VeryStampForm_ApplyFunc)(long id, LPCTSTR lpInFile, LPCTSTR lpOutFile, LONG bFlatten);
typedef long (__stdcall *VeryStampForm_ClearFieldsFunc)(long id);

typedef long (__stdcall *VeryStampEncryptPDFFunc)(LPSTR lpInPDF, LPSTR lpOutPDF,char *lpszOpenPwd,char *lpszOwnerPwd,
                            int iKeyLen, int iRestriction);
typedef BOOL (__stdcall *VeryStampDeleteStampFromPagesFunc)(char *lpInPDF, char *lpOutPDF, char *lpPageRange);
typedef long (__stdcall *VeryStampDeleteImagesFromPagesFunc)(char *lpInPDF, char *lpOutPDF, int nWidth, int nHeight, char *lpPageRange);
typedef int  (__stdcall *VeryStampSetLayerPrintFlagFunc)(long id, LPCTSTR lpLayerName, int nFlag);

typedef long (__stdcall *PDFStampOpenFunc)(char *lpInPDF);
typedef BOOL (__stdcall *PDFStampCloseFunc)(long hPDF, char *lpOutPDF);
typedef long (__stdcall *PDFStampSetFontAFunc)(long hPDF, const char* fontName, long fontStyle, double fontSize, long isEmbed, long nCodePage);
typedef BOOL (__stdcall *PDFStampSetFillColorFunc)(long hPDF, long nColor);
typedef BOOL (__stdcall *PDFStampWriteTextAFunc)(long hPDF, double x, double y, const char* lpText);
typedef BOOL (__stdcall *PDFStampWriteTextWFunc)(long hPDF, double x, double y, const unsigned short* lpText);
typedef BOOL (__stdcall *PDFStampWriteTextExAFunc)(long hPDF, double x, double y, const char* lpText, long nLen);
typedef BOOL (__stdcall *PDFStampWriteTextExWFunc)(long hPDF, double x, double y, const unsigned short* lpText, long nLen);
typedef BOOL (__stdcall *PDFStampEditPageFunc)(long hPDF, long nPageIndex);
typedef BOOL (__stdcall *PDFStampEndPageFunc)(long hPDF);
typedef long (__stdcall *PDFStampGetPageCountFunc)(long hPDF);
typedef double (__stdcall *PDFStampGetTextWidthAFunc)(long hPDF, const char* lpText);
typedef double (__stdcall *PDFStampGetTextWidthWFunc)(long hPDF, const unsigned short* lpText);
typedef double (__stdcall *PDFStampGetTextWidthExAFunc)(long hPDF, const char* lpText, long nLen);
typedef double (__stdcall *PDFStampGetTextWidthExWFunc)(long hPDF, const unsigned short* lpText, long nLen);

HMODULE                            g_hVeryW=NULL;

VeryStampRegFunc                VeryStampReg            = NULL;
VeryStampOpenFunc                VeryStampOpen            = NULL;
VeryStampLayerOpenFunc            VeryStampLayerOpen        = NULL;
VeryStampCloseFunc                VeryStampClose            = NULL;
VeryStampSetFunctionFunc        VeryStampSetFunction    = NULL;
VeryStampSetFunctionFunc        VeryStampGetFunction    = NULL;
VeryStampAddImageFunc            VeryStampAddImage        = NULL;
VeryStampAddImageExFunc            VeryStampAddImageEx        = NULL;
VeryStampAddTextFunc            VeryStampAddText        = NULL;
VeryStampAddLineFunc            VeryStampAddLine        = NULL;
VeryStampAddRectFunc            VeryStampAddRect        = NULL;
VeryStampAddRectWithLayerFunc    VeryStampAddRectWithLayer = NULL;
VeryStampUndoFunc                VeryStampUndo            = NULL;
VeryStampIsStampedFunc            VeryStampIsStamped        = NULL;
VeryStampAddLineExFunc            VeryStampAddLineEx        = NULL;
VeryStampAddCircleFunc            VeryStampAddCircle        = NULL;
VeryStampAddEllipseFunc            VeryStampAddEllipse        = NULL;
VeryStampAddCurveToFunc            VeryStampAddCurveTo        = NULL;

VeryStampForm_AllocFunc            VeryStampForm_Alloc            = NULL;
VeryStampForm_FreeFunc            VeryStampForm_Free            = NULL;
VeryStampForm_SetTextFieldFunc    VeryStampForm_SetTextField    = NULL;
VeryStampForm_SetCheckBoxFunc    VeryStampForm_SetCheckBox    = NULL;
VeryStampForm_ApplyFunc            VeryStampForm_Apply            = NULL;
VeryStampForm_ClearFieldsFunc    VeryStampForm_ClearFields    = NULL;

VeryStampEncryptPDFFunc            VeryStampEncryptPDF            = NULL;
VeryStampDeleteStampFromPagesFunc    VeryStampDeleteStampFromPages = NULL;
VeryStampDeleteImagesFromPagesFunc    VeryStampDeleteImagesFromPages = NULL;
VeryStampSetLayerPrintFlagFunc        VeryStampSetLayerPrintFlag = NULL;

PDFStampOpenFunc                PDFStampOpen            = NULL;
PDFStampCloseFunc                PDFStampClose            = NULL;
PDFStampSetFontAFunc            PDFStampSetFontA        = NULL;
PDFStampSetFillColorFunc        PDFStampSetFillColor    = NULL;
PDFStampWriteTextAFunc            PDFStampWriteTextA        = NULL;
PDFStampWriteTextWFunc            PDFStampWriteTextW        = NULL;
PDFStampWriteTextExAFunc        PDFStampWriteTextExA    = NULL;
PDFStampWriteTextExWFunc        PDFStampWriteTextExW    = NULL;
PDFStampEditPageFunc            PDFStampEditPage        = NULL;
PDFStampEndPageFunc                PDFStampEndPage            = NULL;
PDFStampGetPageCountFunc        PDFStampGetPageCount    = NULL;
PDFStampGetTextWidthAFunc        PDFStampGetTextWidthA    = NULL;
PDFStampGetTextWidthWFunc        PDFStampGetTextWidthW    = NULL;
PDFStampGetTextWidthExAFunc        PDFStampGetTextWidthExA    = NULL;
PDFStampGetTextWidthExWFunc        PDFStampGetTextWidthExW    = NULL;

typedef struct DLLFUNCtag{
    char *name1;
    char *name2;
    void **func;
}DLLFunc;
DLLFunc aryDLLFunc[] = {
    {"veryReg", "VeryStampReg", (void**)&VeryStampReg},
    {"veryOpen", "VeryStampOpen", (void**)&VeryStampOpen},
    {"veryClose", "VeryStampClose", (void**)&VeryStampClose},
    {"veryAddText", "VeryStampAddText", (void**)&VeryStampAddText},
    {"veryAddImage", "VeryStampAddImage", (void**)&VeryStampAddImage},
    {"veryAddImageEx", "VeryStampAddImageEx", (void**)&VeryStampAddImageEx},
    {"veryAddLine", "VeryStampAddLine", (void**)&VeryStampAddLine},
    {"veryAddLineEx", "VeryStampAddLineEx", (void**)&VeryStampAddLineEx},
    {"veryAddRect", "VeryStampAddRect", (void**)&VeryStampAddRect},
    {"verySetFunction", "VeryStampSetFunction", (void**)&VeryStampSetFunction},
    {"veryGetFunction", "VeryStampGetFunction", (void**)&VeryStampGetFunction},
    {"veryUndo", "VeryStampUndo", (void**)&VeryStampUndo},
    {"veryAddRectWithLayer", "VeryStampAddRectWithLayer", (void**)&VeryStampAddRectWithLayer},
    {"veryAddCircle", "VeryStampAddCircle", (void**)&VeryStampAddCircle},
    {"veryAddEllipse", "VeryStampAddEllipse", (void**)&VeryStampAddEllipse},
    {"veryAddCurveTo", "VeryStampAddCurveTo", (void**)&VeryStampAddCurveTo},
    {"VeryStampLayerOpen", "VeryStampLayerOpen", (void**)&VeryStampLayerOpen},
    {"veryIsStamped", "VeryStampIsStamped", (void**)&VeryStampIsStamped},
    {"VeryStampForm_Alloc", "VeryStampForm_Alloc", (void**)&VeryStampForm_Alloc},
    {"VeryStampForm_Free", "VeryStampForm_Free", (void**)&VeryStampForm_Free},
    {"VeryStampForm_SetTextField", "VeryStampForm_SetTextField", (void**)&VeryStampForm_SetTextField},
    {"VeryStampForm_SetCheckBox", "VeryStampForm_SetCheckBox", (void**)&VeryStampForm_SetCheckBox},
    {"VeryStampForm_Apply", "VeryStampForm_Apply", (void**)&VeryStampForm_Apply},
    {"VeryStampForm_ClearFields", "VeryStampForm_ClearFields", (void**)&VeryStampForm_ClearFields},
    {"VeryStampEncryptPDF", "VeryStampEncryptPDF", (void**)&VeryStampEncryptPDF},
    {"VeryStampDeleteStampFromPages", "VeryStampDeleteStampFromPages", (void**)&VeryStampDeleteStampFromPages},
    {"VeryStampDeleteImagesFromPages", "VeryStampDeleteImagesFromPages", (void**)&VeryStampDeleteImagesFromPages},
    {"VeryStampSetLayerPrintFlag", "VeryStampSetLayerPrintFlag", (void**)&VeryStampSetLayerPrintFlag},

    {"PDFStampOpen", "PDFStampOpen", (void**)&PDFStampOpen},
    {"PDFStampClose", "PDFStampClose", (void**)&PDFStampClose},
    {"PDFStampSetFontA", "PDFStampSetFontA", (void**)&PDFStampSetFontA},
    {"PDFStampSetFillColor", "PDFStampSetFillColor", (void**)&PDFStampSetFillColor},
    {"PDFStampWriteTextA", "PDFStampWriteTextA", (void**)&PDFStampWriteTextA},
    {"PDFStampWriteTextW", "PDFStampWriteTextW", (void**)&PDFStampWriteTextW},
    {"PDFStampWriteTextExA", "PDFStampWriteTextExA", (void**)&PDFStampWriteTextExA},
    {"PDFStampWriteTextExW", "PDFStampWriteTextExW", (void**)&PDFStampWriteTextExW},
    {"PDFStampEditPage", "PDFStampEditPage", (void**)&PDFStampEditPage},
    {"PDFStampEndPage", "PDFStampEndPage", (void**)&PDFStampEndPage},
    {"PDFStampGetPageCount", "PDFStampGetPageCount", (void**)&PDFStampGetPageCount},
    {"PDFStampSetFillColor", "PDFStampSetFillColor", (void**)&PDFStampSetFillColor},
    {"PDFStampGetTextWidthA", "PDFStampGetTextWidthA", (void**)&PDFStampGetTextWidthA},
    {"PDFStampGetTextWidthW", "PDFStampGetTextWidthW", (void**)&PDFStampGetTextWidthW},
    {"PDFStampGetTextWidthExA", "PDFStampGetTextWidthExA", (void**)&PDFStampGetTextWidthExA},
    {"PDFStampGetTextWidthExW", "PDFStampGetTextWidthExW", (void**)&PDFStampGetTextWidthExW},
};

void    GetModulePath(char *out_path,char *in_name);
BOOL    LoadVeryWDll(void);
void    FreeVeryWDll();

void GetModulePath(char *out_path,char *in_name)
{
    char *p;
    GetModuleFileName(NULL,out_path,256);
    p =strrchr(out_path,'\\');
    p[1]=0;
    strcat(out_path,in_name);
}

BOOL LoadVeryWDll()
{
    int i;
    char path[_MAX_PATH];
    GetModulePath(path,"PdfStamp.dll");
    g_hVeryW=LoadLibrary(path);
    if(g_hVeryW==NULL)
    {
        GetModulePath(path,"verywrite.dll");
        g_hVeryW=LoadLibrary(path);
        if(g_hVeryW==NULL)
            goto Failer;
    }

    for(i = 0; i < sizeof(aryDLLFunc)/sizeof(DLLFunc); i++)
    {
        void *lpFunc = (void*)GetProcAddress(g_hVeryW,aryDLLFunc[i].name1);
        if(lpFunc == NULL)
            lpFunc = (void*)GetProcAddress(g_hVeryW,aryDLLFunc[i].name2);
        if(lpFunc)
            *aryDLLFunc[i].func = lpFunc;
        else
            goto Failer;
    }

    return TRUE;
Failer:
    FreeVeryWDll();
    return FALSE;
}

void FreeVeryWDll()
{
    if(g_hVeryW==NULL)
        return ;
    FreeLibrary(g_hVeryW);
    g_hVeryW=NULL;
}

LPBYTE LoadFileIntoMemory(LPCSTR lpFileName,int& nLength)
{
    LPBYTE lpData = NULL;
    size_t size;
    FILE *fp;
    fp = fopen(lpFileName, "rb");
    if (fp == NULL)
        return NULL;
    fseek(fp, 0, SEEK_END);
    size = ftell(fp);
    lpData = (unsigned char *)malloc(size);
    if(lpData == NULL)
    {
        fclose(fp);
        return NULL;
    }
    fseek(fp, 0, SEEK_SET);
    fread(lpData, 1, size, fp);
    fclose(fp);
    nLength = size;
    return lpData;
}

void main(int argc,char* argv[])
{
    char szPDFFile[256] = {0};
    char szOutFile[256] = {0};
    char szTextFile[256] = {0};
    long id;
    int iRet = 0;
   
    GetModulePath(szTextFile,"Arabic.txt");
    int nLength = 0;
    LPBYTE lpData = LoadFileIntoMemory(szTextFile, nLength);
    if(lpData == NULL)
        return;
    if(*lpData == 0xFF && *(lpData+1) == 0xFE)
    {
        lpData += 2;
        nLength -= 2;
    }
/*
    int nWordCount = nLength/2;
    LPWORD lpDataW = (LPWORD)lpData;
    for(int i = 0; i < nWordCount; i++)
    {
        WORD nTmp = lpDataW[i];
        lpDataW[i] = lpDataW[nWordCount-i-1];
        lpDataW[nWordCount-i-1] = nTmp;
    }
*/
    if(!LoadVeryWDll())
        return;
   
    GetModulePath(szPDFFile,"example.pdf");
    GetModulePath(szOutFile,"textstamp_unicode_out.pdf");
   
    //Register PDFStamp SDK with your License Key
    VeryStampReg ("XXXXXXXXXXXXXXXXXXXXX");
   
    id = PDFStampOpen(szPDFFile);
    if (id > 0)
    {
        for(int i = 1; i <= PDFStampGetPageCount(id); i++)
        {
            if(PDFStampEditPage(id,i) == 1)
            {
                int nCodePage = cp1255;
                long nFont = PDFStampSetFontA(id, "Arial Unicode MS", 0, 12, 1, 39);
                PDFStampSetFillColor(id, 0x000000FF);
                double dbTextLen = PDFStampGetTextWidthExW(id,
                         (unsigned short *)lpData, nLength/2);
                BOOL bRet = PDFStampWriteTextExW(id, 100, 200,
                         (unsigned short *)lpData, nLength/2);
                PDFStampEndPage(id);
            }
        }
        PDFStampClose(id, szOutFile);
    }
               
    FreeVeryWDll();
}

VeryPDF

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)
Posted in PDF Stamp | Tagged , , , , | Leave a comment

I need a solution to capture print data automatically and render printer jobs to PDF from a web application

Hi,

I am looking for a solution that automatically captures print data and save same as pdf to some location automatically. I tried one of your free trial version which suffices my requirement but conversion to pdf is manual.

May I please confirm if paid version readily comes with application that captures and converts to pdf or if it is just an sdk and development must be done after purchase?

Best Regards,
Customer
---------------------------------------------------
Thanks for your message, may I know what product are you using? we have more products which can capture the print data and save them to PDF files, such as docPrint Pro HookPrinter module, HookPrinter SDK, etc., in general, most of them can capture printer data and convert them to PDF files automatically, everything can be done at background and silently. But for the HookPrinter SDK product, you need write an application to integrate with the HookPrinter SDK, it's not difficulty if you are understand the development.

VeryPDF
---------------------------------------------------
Hi Frank,

Thank you for reply.

Actually we are not using any product right now but we would like to purchase one of the product that automatically converts print jobs to pdf in background.

We are not looking for SDK but already build application that we can install and use directly.

Could you please suggest us if we should purchase docPrint Pro or HookPrinter module? And also provide us details regarding where to make purchase and if we get any support after purchase for installation.

Best Regards,
Customer
---------------------------------------------------

image
Do you already have the Print Job files (SPL files) in your hard disk? if yes, you can use VeryPDF SPL to PDF Converter Command Line to convert from SPL files to PDF files easily, you may download VeryPDF SPL to PDF Converter Command Line from this web page to try,

http://www.verypdf.com/app/hookprinter/spool-spl-to-pdf-converter.html
http://www.verypdf.com/dl2.php/spl2pdf_cmd.zip

If you don't have SPL files yet, but want to capture the print jobs from Printer Queue and save to SPL files and then convert from SPL files to PDF files, the docPrint Pro and HookPrinter SDK products will useful to you, these products will install a Hook Layer to Spooling system, when user print a document to a printer, these products will capture the printer data and save them to SPL files, and then convert SPL files to PDF files.

Please look at following information, we hope these information will useful to you,

>>How to get VeryPDF/VeryDOC Printer Capturer?

Thanks for your message, we have more types of Printer Capturer software, you can use these software to capture the print jobs to PDF files, and then forward the print jobs to another Windows Printer, you can download and test these software from following URLs,

Solution 1. VeryPDF HookPrinter SDK

With VeryPDF HookPrinter SDK software, you can capture printer output that would normally go to a communications port such as LPT1. Useful for second stage processing such as creating PDF files, ripping, or distribution of printer output.

You can download and test VeryPDF HookPrinter SDK from following web page,

http://www.verypdf.com/app/hookprinter/index.html
http://www.verypdf.com/dl2.php/HookPrinter.zip

Please refer to user manual of VeryPDF HookPrinter SDK from this web page,

http://www.verypdf.com/app/hookprinter/user-guide.html

Solution 2. VeryPDF docPrint Printer Capturer

VeryPDF docPrint Printer Capturer is a special version of docPrint which contain two virtual printers and a Printer Capturer module, after you install it, you will see two virtual printers appear in the Printer&Fax folder, after you enable Printer Capturer Module and print a document to docPrint, docPrint Printer Capturer will work by following steps,

1. You enable Printer Capturer Module and print a document to "HP LaserJet Professional P1108" or other printers,
2. Printer Capturer Module will capture this print job, redirect it to docPrint virtual printer,
3. docPrint virtual printer will convert this print job to PDF, PS, EPS, TIF, JPG, PNG, BMP, GIF, etc. formats first, and forward original print job to original printer ("HP LaserJet Professional P1108" or other printers) continue,
4. OK, the original printing process will contiue and without any interruption, but you will get PDF, PS, EPS, TIF, JPG, PNG, BMP, GIF, etc. formats during printing.

We have created an evaluation version of docPrint Printer Capturer to you, you may download it from following URL,

http://www.verypdf.com/artprint/docprint_pro_setup.exe

Please by following steps to test "-hookprinter" option,

1. Download and install docPrint Pro v8.0 version,

2. Run following application to set Printer Capturer options,

"C:\Program Files (x86)\docPrint Pro v8.0\artprint.exe" -hookprinter

You need set "Output folder" to save captured documents.
You need click "Install HookPrinter" button to install Printer Capturer.
You need click "Save&Close" button to close this dialog, and print a document to an arbitrary Windows Printer, you will get captured documents appear in predefined folder automatically.

3. OK.

"-hookprinter" option will capture everything that you sent to any Windows Printer. If you want just print a document to docPrint first, and then forward to other printers, you can use "-forward-options" option, for example,

"C:\Program Files (x86)\docPrint Pro v8.0\artprint.exe" -forwardprinter

After you set the options, click "Save&Close" button to close this dialog, when an user print a document to docPrint, docPrint will redirect the print job to predefined printer properly.

"-hookprinter" and "-forwardprinter" are two different printer capture and forwarding methods, you can choose either one according to your requirements.

Solution 3. Print a document to docPrint or docPrint PDF Driver and save to a new PDF or image or other formats.

This solution is simple, after you install the docPrint Pro software, you will see two printers appear in the Printer&Fax folder, docPrint and docPrint PDF Driver. You can simple print a document to docPrint or docPrint PDF Driver and save to a new PDF or image or other formats easily.

***See Also:

VeryPDF Released docPrint Pro v8.0 today, docPrint Pro v8.0 is able to make a connection between docPrint and other Windows Printers,
http://www.verypdf.com/wordpress/201804/verypdf-release-notes-verypdf-released-docprint-pro-v8-0-today-docprint-pro-v8-0-is-able-to-make-a-connection-between-docprint-and-other-windows-printers-43787.html

How to intercept and capture a print job and convert it to PDF & Plain Text & Image files and then print?
http://www.verypdf.com/wordpress/201802/how-to-intercept-and-capture-a-print-job-and-convert-it-to-pdf-plain-text-image-files-and-then-print-43680.html

Saving a pending print job as PDF. Save Print Job in Queue as PDF. Save All Print Jobs As PDF. Convert Spool request to PDF and send as e-mail. Converting Print spool output in to a PDF. Convert Spool File to PDF. Convert Spool Files to PDF Excel and more. Capture Print Data and Save to PDF.
http://www.verypdf.com/wordpress/201608/saving-a-pending-print-job-as-pdf-save-print-job-in-queue-as-pdf-save-all-print-jobs-as-pdf-convert-spool-request-to-pdf-and-send-as-e-mail-converting-print-spool-output-in-to-a-pdf-convert-spool-42957.html

Need to capture a print job. How to capture a print job from Windows Print Spooler system?
http://www.verypdf.com/wordpress/201704/need-to-capture-a-print-job-how-to-capture-a-print-job-from-windows-print-spooler-system-43392.html

Print documents to virtual printer first, virtual printer will create PDF files and then forward printed documents to physical printer,
http://www.verypdf.com/wordpress/201708/print-documents-to-virtual-printer-first-virtual-printer-will-create-pdf-files-and-then-forward-printed-documents-to-physical-printer-43570.html

VeryPDF Released docPrint Pro v8.0 today, docPrint Pro v8.0 is able to make a connection between docPrint and other Windows Printers,
http://www.verypdf.com/wordpress/201804/verypdf-release-notes-verypdf-released-docprint-pro-v8-0-today-docprint-pro-v8-0-is-able-to-make-a-connection-between-docprint-and-other-windows-printers-43787.html

How to get VeryPDF Printer Capturer?
http://www.verypdf.com/wordpress/201701/how-to-get-verypdf-printer-capturer-43213.html

VeryPDF

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)
Posted in docPrint Pro, VeryPDF SDK & COM | Tagged , , , , , , | Leave a comment

I get the expected error, File Not Found: pdfprintsdk.dll

I am trying to evaluate your pdfprintsdk using Visual Basic 6. I have downloaded the trial package (sdk) but I cannot find any instructions about how to install the required files or what DLLs to register, or whatever I need to do. When I run the demo VB program VB/project1.vbs I get the expected error, File Not Found: pdfprintsdk.dll.

I tried registering (regsvr32) the pdfprintsdk.dll in System32 but get an error message.

How do I resolve this so that I can evaluate your software?
Customer
--------------------------------------------
Thanks for your message, you need register pdfprintcom.exe instead of pdfprintsdk.dll, you can run a CMD window with administrator privilege, and run following command line to register it,

pdfprintcom.exe /regserver

shareshot_2019-01-08_09-52-52

after you register pdfprintcom.exe successful, you can add a reference to "pdfprintcom" COM from VB.NET or C# or VB IDE environment, then you can use following sample source code to call the "pdfprintcom" COM to print PDF files,

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using pdfprintcom;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            pdfprintcom.pdfprint pdfPrintObj = new pdfprintcom.pdfprint();
            pdfPrintObj.com_PDFPrint("pdfprint -printer \"docPrint\" D:\\temp\\5.pdf");
        }
    }
}

>>When I run the demo VB program VB/project1.vbs I get the expected error, File Not Found: pdfprintsdk.dll.

For this problem, you can compile the VB project to an EXE file first, place this EXE to the "bin" folder, the "bin" folder has following files, your EXE and these files must be placed to same folder, then your VB EXE will able to load pdfprintsdk.dll properly,

cimage.dll
GdiPlus.dll
pdfprintsdk.dll
wget.dll
xpssdk.dll
Resource\*.*
encoding\*.*

VeryPDF

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)
Posted in PDF Print | Tagged , , | Leave a comment
Page 1 of 1,41212345...102030...Last »