#endif
#include "../lib/args.h"
#include "SWFOutputDev.h"
-extern "C" {
#include "log.h"
-}
#ifndef WIN32
#define FONTDIR SWFTOOLS_DATADIR "/fonts"
}
#ifdef HAVE_DIRENT_H
-void addfontdir(char* dirname, int*numfonts)
+static void addfontdir(char* dirname, int*numfonts)
{
if(!numfonts)
msg("<verbose> Adding %s to search path\n", dirname);
msg("<warning> Couldn't open directory %s\n", dirname);
return;
}
- dirent*ent;
+ struct dirent*ent;
while(1) {
ent = readdir (dir);
if (!ent)
}
#endif
-char* stripfilename(char*filename, char*newext)
+static char* stripfilename(char*filename, char*newext)
{
char*last1 = strrchr(filename, '/');
char*last2 = strrchr(filename, '\\');
msg("<error> Couldn't find any fonts!");
#endif
- pdfswf_init(filename, password);
- pdfswf_setoutputfilename(outputname);
-
- int pages = pdfswf_numpages();
- for(t = 1; t <= pages; t++)
- {
- if(is_in_range(t, pagerange))
- pdfswf_convertpage(t);
+ pdf_doc_t* pdf = pdf_init(filename, password);
+ if(!pdf) {
+ msg("<error> Couldn't open %s", filename);
+ exit(1);
}
- pdfswf_performconversion();
+ swf_output_t* swf = swf_output_init();
- pdfswf_close();
+ for(t = 1; t <= pdf->num_pages; t++)
+ {
+ if(is_in_range(t, pagerange)) {
+ /* for links: FIXME */
+ pdfswf_preparepage(t);
+ }
+ if(is_in_range(t, pagerange)) {
+ pdf_page_t*page = pdf_getpage(pdf, t);
+ pdf_page_render(page, swf);
+ pdf_page_destroy(page);
+ }
+ }
+ if(!swf_output_save(swf, outputname))
+ exit(1);
+ swf_output_destroy(swf);
+
+ pdf_destroy(pdf);
if(viewer || preloader) {
#ifndef SYSTEM_BACKTICKS
return 0;
}
-