コード例 #1
0
ファイル: k2gui_overlay.c プロジェクト: Hzj-jie/libk2pdfopt
void k2gui_overlay_open_bitmap(WILLUSBITMAP *bmp)

    {
    char tempfile[MAXFILENAMELEN];

    wfile_abstmpnam(tempfile);
    wfile_newext(tempfile,NULL,"png");
    bmp_write(bmp,tempfile,NULL,100);
    willusgui_open_file_ex(tempfile);
    }
コード例 #2
0
static void gs_postprocess(char *filename)

    {
    char tempname[MAXFILENAMELEN];
    int status;
    double size;

    if ((status=willusgs_init(stdout))<0)
        {
        static int warn=0;
        if (warn==0)
            {
            k2printf("\a");
            warn=1;
            }
        k2printf("\n" TTEXT_WARN "** Error %d initializing Ghostscript.  Post-process step aborted. **"
                 TTEXT_NORMAL "\n\n",status);
        return;
        }
    wfile_abstmpnam(tempname);
    k2printf("Post processing " TTEXT_MAGENTA "%s" TTEXT_NORMAL " with Ghostscript...\n",
              filename);
    status=willusgs_ps_to_pdf(tempname,filename,-1,-1,NULL);
    if (status<0)
        {
        static int warn=0;
        if (warn==0)
            {
            k2printf("\a");
            warn=1;
            }
        k2printf("\n" TTEXT_WARN "** Error %d running Ghostscript.  Post-process step aborted. **"
                 TTEXT_NORMAL "\n\n",status);
        remove(tempname);
        return;
        }
    status=wfile_copy_file(filename,tempname,0);
    if (status==0)
        {
        static int warn=0;
        if (warn==0)
            {
            k2printf("\a");
            warn=1;
            }
        k2printf("\n" TTEXT_WARN "** Error copying temp file %s to %s.  Post-process error. **"
                 TTEXT_NORMAL "\n\n",tempname,filename);
        return;
        }
    remove(tempname);
    size=wfile_size(filename);
    k2printf(TTEXT_BOLD "    ... %d bytes" TTEXT_NORMAL " written to " TTEXT_MAGENTA "%s" TTEXT_NORMAL " (%.1f MB).\n",(int)size,filename,size/1024./1024.);
    }
コード例 #3
0
ファイル: wmupdf.c プロジェクト: chenkaigithub/libk2pdfopt
static int stream_deflate(pdf_document *xref,fz_context *ctx,int pageref,int pagegen,
                          int *length)

    {
    fz_buffer *strbuf;
    int n;
    unsigned char *p;
#ifdef HAVE_Z_LIB
    char tempfile[512];
    gzFile gz;
    FILE *f;
    int nw;
#endif

    strbuf=pdf_load_stream(xref,pageref,pagegen);
    n=fz_buffer_storage(ctx,strbuf,&p);
#ifdef HAVE_Z_LIB
    wfile_abstmpnam(tempfile);
    gz=gzopen(tempfile,"sab7");
    gzwrite(gz,p,n);
    gzclose(gz);
    nw=wfile_size(tempfile);
    fz_resize_buffer(ctx,strbuf,nw+1);
    fz_buffer_storage(ctx,strbuf,&p);
    f=fopen(tempfile,"rb");
    if (f==NULL || fread(p,1,nw,f)<nw)
        aprintf(ANSI_RED "** wmupdf: Error writing compressed stream to PDF file! **\n" ANSI_NORMAL);
    if (f!=NULL)
        fclose(f);
    remove(tempfile);
    p[nw]='\n';
    strbuf->len=nw+1;
    pdf_update_stream(xref,pageref,strbuf);
    fz_drop_buffer(ctx,strbuf);
/*
printf("    After drop, xref->table[%d].stm_buf=%p, refs=%d\n",pageref,xref->table[pageref].stm_buf,
                                                  xref->table[pageref].stm_buf->refs);
*/
    (*length)=nw;
    return(1);
#else
    fz_drop_buffer(ctx,strbuf);
    (*length)=n;
    return(0);
#endif
    }