Poppler for Windows

I have been using the Poppler library for some time, over a series of various projects. It’s an open source set of libraries and command line tools, very useful for dealing with PDF files. Poppler is targeted primarily for the Linux environment, but the developers have included Windows support as well in the source code. Getting the executables (exe) and/or dlls for the latest version however is very difficult on Windows. So after years of pain, I jumped on oDesk and contracted Ilya Kitaev, to both compile with Microsoft Visual Studio, and also prepare automated tools for easy compiling in the future. Update: MSVC isn’t very well supported, these days the download is based off MinGW.

So now, you can run the following utilities from Windows!

  • PDFToText – Extract all the text from PDF document. I suggest you use the -Layout option for getting the content in the right order.
  • PDFToHTML – Which I use with the -xml option to get an XML file listing all of the text segments’ text, position and size, very handy for processing in C#
  • PDFToCairo – For exporting to images types, including SVG!
  • Many more smaller utilities


Latest binary : poppler-0.68.0_x86

Older binaries:

Update [2018-08-29]:

Windows Subsystem for Linux (WSL) is a great option for many windows users and developers. You can enable WSL and install Ubuntu if you are not using the “S” edition of Windows. Then you can simply install “sudo apt install poppler-utils”. If you’re a developer, you can still start the ubuntu based poppler tool(s) using the wsl command: “wsl pdftocairo …”

As it turns out though, your poppler version will be limited to a given distribution of Ubuntu at the time. 18.04 uses poppler 0.62. So in some ways our work on windows compiling can be better – it gives you the latest version.

If you need perfect support for QT and other missing features of our mingw Windows built version, then WSL might be the best way to go. I’m guessing the WSL/Ubuntu version is 64 bit for instance.

It would be nice if the Poppler team built a mmap IPC convention for processing PDF files. That way the process (either WSL or Mingw) could continue running, and process PDFs based on requests received, and returning the output to the caller. Like a server. It could also be much simpler, if it just ran as a simple web server.

171 thoughts on “Poppler for Windows”

  1. Problems:

    1. The binary file that is there for download looks like the versions there are 0.18 instead of 0.22

    2. The docs directory is missing in the build zip file.

    Thanks for taking out the time to post this.

  2. I am very interested in this as I am trying to develop an internal tool that relies on the Poppler libraries, I have had no end of trouble compiling / getting this working. My application is written in QT so msvc poses some complications. How can I help on this project, I don’t any experience but I can put in some time… I was wondering if cross compiling the binaries from a linux box would be “better” for all of the windows possibilities… Your thoughts? What do you need next?

      1. No, I originally compiled without the Cairo backend, I wasn’t even aware of the path, I’ll need to look at it. What I mean by better is it would seem easier to create the various cross compiling environments. To move forward with my project I installed the msys environment to get it to compile. I ran into no end of frustrations with CMAKE and all the auxillaries that needed to be compiled. It seemed to be a white rabit chase to me, and I started using other people’s compiled libraries to save time only to find out that I couldn’t take one compiled for Microsoft and mix it with one compiled for MSYS.

        I finally got a working library but there are some * weird* behaviors that I am convinced have to do with the aforementioned mess. My problem is that I am not a hardcore programmer, and I have only ever learned enough to to what I was wanting to at that moment… So my wall of knowledge is missing a few bricks (Late Game Jenga style).

        I have a fair number of resources at my disposal, so depending on what the needs of the project are, I can contribute very positively.

        But, I digress, in a short answer, I am talking about Mingw, Msys, and MSVC compiling… Hopefully from one Linux system to these difference configurations, once the scripts are setup, *maybe* it won’t be horrible to maintain

        1. MSYS is essentially Mingw (in that it requires Mingw), and therefore the compiled assembiles are not strictly windows dlls – they require Mingw to run (full environment or one or more dlls).

          This build package aims to compile strictly for windows with minimal runtime dependencies (other than the poppler dependencies). We are working on fully automating the build process so that anyone can compile it, in the future this might include different flavours (such as QT-Cairo) and of course would include ready-to-go dlls for everyone to simply download.

          There may be scope for other compiler support, but for now we will be focusing on MSVC.

          1. I understand the differences (basically) between MSYS, and MSVC, I thought there was a complie method that didn’t require the MSYS environment that was still functional using the free tool chain… But whatever the scope, I could really use this project and would like to help.

  3. First of all: Thank you! It’s really nice to be able to use these tools on Windows.

    Bad thing is: I can’t use them (at least version 0.22, 0.18.1 is fine), because I always get an error: “Not a valid Win32 application.”

    I still have to use Windows XP. The features at the bitbucket wiki include “Compile for/on Windows 7+”. Does this mean exclusively for Windows 7+?
    Is there any hope using the current versions with XP?

    1. Hi Florian,

      It is my intention to add support as widely as possible, so I’m not going to restrict to Windows 7+, although I probably won’t support anything lower than the latest SP of XP.

      I compiled 0.22 with Visual Studio 2012 [Express], perhaps that’s the reason it won’t run on Windows XP. I’ll try and get a VS2008 compilation.

    2. I have recompiled with: 1) VS 2010, 2) Updated build package which fixes the jpeg bug, now fixed.

      Please let me know if the new binaries work. (Still need to try VS2008 if that doesn’t work)

  4. I have a Makefile fragment that can compile Poppler + dependencies with MSYS on Windows. I am using this to build a utility which links against Poppler, seems to work well but there might be some problems when compiling the utils (they are excluded from my build)

    See: https://gist.github.com/HarryR/4726522

    If the utilities are statically compiled then no external DLLs etc. are required.

    1. Thanks Harry, I’ll have a look, I have been working on an MSYS solution myself, so between both of these we should be able to maintain a single versatile solution.

  5. Hi,

    Thanks for making available the binaries ready for download/use. I was wondering if there is a x64 version for them ?


    1. Hi Agnel,

      It is placed (awkwardly) in the post_build_files folder for now. It is the same license as poppler, which appears to be GPL2.

      Sorry to others asking questions, I have been really busy. I will try and set up some permanent funding for an outsourced resource to maintain and improve windows binary support (including MSYS).

  6. Looks like Visual Studio 2012 generates EXE which is not executable under XP (even with MSVCR110.dll present). I get the error which I typically get when try to launch x64 binary on my x32 XP. I am sure there should be some backward-compatibility flags…

  7. Todd,

    I gather that Poppler is now intended to be functional with Windows XP. If that is so, I would appreciate your advice on how to install from the bin directory.

    I use XP Pro with SP3. When I try to execute pdffonts.exe, I am informed that pdffonts.exe is not a win32 application.

    With pdftohtml.exe, I get the same message.

    I hope that you will be able to sort this out for me.


    Colin W.

  8. I’ll look at getting my outsource guy to re-invigorate this. I will target an MSYS (mingw) build, and look at automating builds on my server triggered by new release versions for download. I’ll leave the older VS build method unsupported for now.

  9. Hi there, Could you perhaps provide me with the contact of the contractor on oDesk as I would need some additional work in a related field?

    Many thanks in advance,


  10. In the future, plans to leave executables available for “poppler-win32” based on the latest version “poppler-0.26.1” including DLL needed to run windows.
    The proposed version you are much more functional than available from “xpdf” for windows.

  11. Hi,
    Download file version 0.26 contains new folders: include, lib, share – in which context are they meant to be used? Any docs? Does not seem to be Visual Studio relevant? – at least there are no project files.
    I would like to be able to create a Poppler dll myself and I thought/hoped your latest version could be used do do so? Going through your Bitbucket Wiki, you refer to a “build package” – but where is that build package to be found? It does not appear to be anywhere on the Bitbucket pages and also not in the Version 0.26 download.

    1. This version was not build with Visual Studio, it was built using Mingw which is a Unix compatible environment for windows. This is the new preferred method, being easier and more successful in compiling (compared to VS).

      The instructions are therefore obsolete, and you should compile using the ming folder found in the repository. I will try and update the instructions, although I will be automating builds nightly for Windows.

      Those extra folders are required for linking the compiled poppler library to your own C++ application/library.

  12. Hi,
    I’m tying to build Poppler using VC10.
    First, it looks like the msvc scrips still uses the old 0.22 version instead of the newer 0.26 version.
    Second, no matter how I tried, I could not managed to run the build.bat script file.
    I think there is a problem with my environment variables which have spaces and parentheses (Program Files (x86)).
    Any help will be appreciated.

    1. Hi Gil, the Visual Studio method is depreciated for now. You should use the Mingw folder, as this is the most up to date method and also a simpler and more reliable approach, given that poppler was written primarily for Unix systems.

  13. Hi
    i using Nuxeo for doc management,
    documents archived in the system as pdf files, when i want to see it i have to download it first b4 i can view it,
    i have been told to use pdftohtml software, i tried to find they directed me to your blog which seems very engaging and i would like your advice this can be accomplished, thanks in advance

  14. Excellent work, but “pdftocairo” produce SVG incorrect, can not open with a browser (firefox for example). Converting the same pdf in linux and if it works.
    Will have any difference with cairo libraries you use?, in previous versions worked fine.

  15. To Todd

    Hi, Can poppler.0.26.1_x86.7z (mingw) be installed? I have try clicking on the pdftohtml.exe but there is no setup appeared.


    1. Set your “path” to poppler binaries, something like
      D:\poppler-0.26.1_x86\ poppler-0.26.1_x86\bin

      1. which path you are talking about in case of Window Server, I have downloaded the poppler-0.48_x86.Can you please assists?

    1. Yeah, they are quite old. I’ll see if Ilya can help out with that for us. It might mean supporting nightly builds of those too.

    1. Looks like the perfect place to get those dlls, I will ensure these latest versions are used by the build package.

  16. Greetings,

    The title of this post attracted me, and I hope this is an appropriate question for this group.

    I am developing a utility program, currently using Windows 7, Eclipse CDT, C, and MinGW to work with PDFs. My needs are pretty simple: read a batched PDF file via stdin, remove the first and last pages, separate the remainder into component files, do some pattern recognition on the text, and save the files.

    It looks like I can do all this using some very basic poppler functions; as a matter of fact I could do it manually on the command line using the Windows utilities provided here, and I see that there are corresponding functions in poppler that can be used programmatically. I don’t need anything fancy, no graphics support, just basic PDF modification.

    Is there some way of isolating a minimal set of Windows-usable poppler code to be imported into an Eclipse C or C++ project so that I could e.g. include poppler.h and use pdfseparate(), pdftotext(), etc. directly in my program? Sorry if this seems like a really obvious thing, but for some reason poppler seems to be stumping me right now.

    Thanks for any information!

  17. Greetings, and thank you for your work! In my Windows 7 environment I am able to use pdfseparate.exe just fine, but pdfunite.exe, while it assembles component files into a target file, also prompts Windows to put up a “pdfunite.exe has stopped working” dialog every time.

    Any suggestions as to what it or I may be doing wrong?

  18. Ilya ended up including cairo compiling to ensure we had the most recent libcairo.

    You can now download the binaries with this from this page. Note the poppler version also went up to .3 from .1.

    I have got someone to build up a VM which can fire up nightly to check for a new poppler version to compile. I’m sure it’ll be a few weeks before that’s operating smoothly, and automatically posting to my blog for easy download.

  19. Using pdftotext.exe to extract data from medical reports and scan for key info; works great for 98% of PDFs but produces seriously garbled text output for a few, which is odd considering they all come from the same source (a remote EMR program printing to a Ghostscript printer)

    Also, the newest version – poppler- – unpacks to produce
    poppler-0.27.3\poppler-0.26.3\bin, etc… is it possible that this is still actually poppler-0.26.3?

    1. PDFtoText: I suggest you try a few different options (raw, layout) and perhaps some other poppler utilities (pdftohtml) on the same PDF. Also, though it’s using Ghostscript, the content is different, so unique fonts for example could be causing some issues.
      Wrong version: Yes very possible, I will check this and fix it up.

      1. It turns out the bad files were anomalies, re-printing them from the EMR has been consistently successful in producing PDFs that can be rendered to text, and poppler is working well. The layout option is very useful to keep things lined up for parsing. Thanks!

        1. Alivate does a lot of work in Healthcare. I have created a code-base which can convert PDFs to very specific RTF specifications. I would be willing to share the source (under zero cost license) to see it improve generically, although my application is quite specific. It uses the PdftoHtml (with XML option) feeding my C# program to perform a lot of post-processing as a pipeline of transformations. Such transformations include identifying paragraphs, de-justifying paragraphs, removing footers, linearising column structures and more.

          1. Sorry for the long pause. I’d be very interested to see the code, although while I’ve worked with C# my main emphasis has been on Java and lately C/C++ and Perl, not sure how much I could contribute. In our case the project was processing batched files sent to a networked Ghostscript printer by the EMR and taking them apart into component reports, and in the process naming the report files based on info found in the text. I used PDFSeparate to produce individual pages, then PDFToText to be able to id cover sheets, summary pages, etc., then PDFUnite to put the reports back together.

            (After this our HL7 engine then matches HL7 messages and PDF files based on file name, converts the PDF to Base64, appends it to the corresponding message, and sends it downstream.)

  20. Hi, how i can load pdf file, or what headers i need for create poppler and load file, as in examples, or better post example of load pdf file.

  21. Hi, i use your components, and i search and find this,
    poppler::document *doc = poppler::document::load_from_file( pathFile.toStdString() );, this mark unresolved link, (msvc 210 know poppler class, but i can get work, for example if i remove toStdString mark error.

    1. correction the question is first i can use with msvc 2010(any version, or concrete version), or i will recompile and so recompile all my project?

  22. I got the 0.26.4 distribution and could run all tools except for the pdfunite.exe. it presents the GPF error and asks if Windows should search for a solution.

    Did I miss something here? Anything I Need to install?
    (Windows 7×64 Ultimate)

  23. I am trying to use get the bounding box of texts ina a pdf. This works great when I use the command line, However, I’d like to be able to find this data without the commandline – where can I find the files for this?

    1. What do you mean by “without the commandline”? Rather than describing what you don’t want it to be, perhaps an indication of what you require? A Graphical User Interface? A DLL?

  24. I am trying to use “Poppler CPP interface library” to work with pdf on visual studio 2013. I have download “poppler-”. I can find static library for windows. There are only two files named endwith “.dll.a” in lib folder. So How can I use this lib on visual studio.

    1. Hi Chrisdy, Those files are for linking via a mingw compiled assembly, not via msvc. I am discussing with the lead contractor, Ilya, for this project about options. I don’t really want to resurrect the msvc builder project – there’s just too many dependencies missing to make it work well. So instead I’m considering a “Poppler Server”, which is a long lived process which communicates either via IPC or HTTP. I am currently favoring HTTP because it would enable interesting uses. Ilya has started work on this and another issue, so expect some progress in the next two weeks, I would value your feedback on these ideas. In the mean time it’s quite simple to open a process to pdftohtml for example per pdf: a process is created each time, but I wouldn’t consider that to be a problem in most scenarios.

  25. Hi, i can make one recommendation, you will add description for changes version, fixes, improvements, i revised the version 0.26 and the 0.33 and in the jpeg convertion, for example and the convertion is better quality

    1. That would be ideal, but I think you should be able to look at the Poppler Release notes for that. I’m only compiling what great volunteer coders have designed (and documented).

    1. Not sure corey. This is a new requirement. I will try and Qt header and poppler-data extensions in the next round of support from Ilya.

  26. I used `PDFImages` to convert the pdf (contains Chinese characters),
    but nothing character was dumpped on the images.
    Maybe the encodings problems.
    I download load the poppler-data from poppler web (http://poppler.freedesktop.org/).
    How to integrate the poppler-data to your relased version.

    1. I’m not sure yet, having never had a requirement for non-western characters myself to date. Ilya is currently working on x64bit and DLL linking. I will ask him to look at this next. His time is in high demand, so don’t expect a resolution for at least another month.

  27. Can I by any chance get visual studio compatible poppler dll and lib files that work with Qt 5.5
    I am in bad need of the poppler lib to work with my visual studio Qt project
    I got the poppler dll and lib from a download location but deleting the document object or any object got from poppler just corrupts the heap and app crashes.
    Or is it recommended to use MingW but that will be a huge effort for me at least

  28. Hi, Todd
    I have to build popppler-for-windows by myself, beacuse we use MSVC2013 & Qt5.5. I got poppler-for-windows archive and modify the build.bat/setenv.bat, after resolving all the depedency problems, I found there is not “poppler.sln” to build the final dll. I search poppler.sln on the web and get the URL: https://sourceforge.net/projects/scribus/files/scribus-libs/win32-msvc2008/, but it loses efficacy. Can you please tell me where to get “poppler.sln” file?

    1. This would be one for the Poppler team. I think there’s a sln file in the core poppler repository. If that’s too old and needs to be updated, they would be the best ones to do so.

    2. Kelly Chen,
      could You provide a link to poppler binaries that work with MSVC2013 & Qt5.5 ? I tried to make it work in the same configuration but was unsuccessful because of dependancy problems that You mentioned and settled on using poppler with MinGW. As such binaries seems really hard to obtain I would really appreciate that.

  29. Avast is reporting a virus (DS#FinalA|D|algo;) in pdfimages.exe. You might want to check up on it. Sorry, couldn’t find any additional info on what that is, Avast is not very forthcoming on details.

  30. Hi Todd,

    any chance you can share the VS2010 projects for building 0.42.0?
    I’m looking at adopting pdftohtml.exe, but having a hard time getting a working build environment. So far, web based resources appear to be outdated..

    thnx, Gait.

  31. Thanks a lot, Todd, for providing current Poppler binaries for Windows. I really, really appreciate this.

    One small question though: since v0.42.0 there is a new command line utility, `pdfsig`. Its purpose is to verify electronic signatures of PDF f iles (see Poppler release notes for v0.42.0). The *.7z archive of your binaries does not have it.

    Are you aware of this?

  32. Thanks a lot, Todd, for providing current Poppler binaries for Windows. I really, really appreciate this.

    One small question though: since v0.42.0 there is a new command line utility, `pdfsig`. Its purpose is to verify electronic signatures of PDF files (see Poppler release notes for v0.42.0). The *.7z archive of your binaries does not have it.

    Are you aware of this?

  33. Hi, I’m newbie in QT. I’m using QT 5.3 and mingw 4.8
    I’m very sorry for my silly question, but usually, i read an article where they “include “, I check the folder and can’t found it anywhere. so which file should I include in my project?

    Simply said, what should I do to use poppler on my project?
    Can you give me a link which explain step by step?

    @my Test.pro I add these 2 lines :
    INCLUDEPATH += “D:\\QT Project\\Test\\poppler-0.42.0\\include\\poppler\\cpp”
    LIBS += -L/”D:\\QT Project\\Test\\poppler-0.42.0\\lib” -lpoppler-qt5

    NB : So sorry for my bad english, it’s not my native language.

    1. I’m not sure. I’m quite busy for a few weeks, but I will ask Ilya about such a question. Feel free to remind me here later if you don’t hear from me by then. In the meantime, perhaps try asking the Poppler team and ask on StackOverflow.

  34. Thanks a lot, Todd, for providing these Poppler binaries for Windows. I really appreciate this as well.

    One question though : I’m not an expert in Windows (7, for what I’m concerned), and I wonder where to install properly the poppler directory and its 4 subdirs into the C:\Windows\System32 tree, after I unzipped the latest binary file.
    Any hint will be appreciated.

    Thanks in advance, Regards, G.

    1. I would suggest copying into C:\Program Files (x86)\Poppler\

      Then if you want easy access via Command Prompt, add that folder to the %path% variable: You should open System Dialog, Environment Variables and edit Path under the global variables.

  35. Is there a way to specify the merging as an “append” type operation? I’m needing to merge several hundred small pdf’s in a specific (non-alphabetic) order. I’m working on an old Windows 2000 server, so I can’t fit all the filenames on one command line since it’s limited to 2047 chars. I’d love to be able to do “pdfnite file1.pdf out.pdf”, “pdfunite file2.pdf out.pdf”, etc.

    1. Uniting two PDFs is like appending. The second one is always last. So if you called the pdfunite command a few times you have enough control. eg: pdfunite file1.pdf file2.pdf out.pdf, then: pdfunite out.pdf file3.pdf out2.pdf, then: pdfunite out2.pdf file4.pdf out3.pdf

      But that would require a degree of scripting to automate. It would make more sense to use a software library (such as java/itext, C#/itextsharp) and a proper coding language.

  36. When trying to download probably any version of binaries (at least poppler-0.51_x86.7z, poppler-0.50_x86.7z, poppler-0.18.1) I am obtaining the error message
    404 – File or directory not found.
    The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.

    2-3 days ago I was also obtaining an error message but – AFAIR – it was error 500 and it concerned also this blog page.
    Anything is going wrong?

    Nevertheless, thank you very much, Todd, for your long-time effort.

      1. It works flawlessly now. Thanks a lot for the quick action.
        Two small remarks:
        The file poppler-0.51_x86.7z seems not to be a valid 7z archive, at least Igor Pavlov’s 7-zip, in versions 16.04 and 15.14, complains when testing:
        Testing archive: poppler-0.51_x86.7z
        Can not open the file as [7z] archive
        The file is open as [zip] archive

        Path = poppler-0.51_x86.7z
        Open WARNING: Can not open the file as [7z] archive
        Type = zip
        so some not so smart file manager plugins fail to open it (tested with Double Commander, Total Commander, even FAR manager with original Igor’s plugin – all failed). But 7-zip itself handles it, only warns.
        A little bit surprisingly, ancient 7-zip ver. 4.65 tests it as OK and handles without any warnings.
        (Files poppler-, poppler- and poppler-, that I also downloaded for a specific reason, exhibit no problems.)
        Just FYI, download speed was appr. 50 kBd, that is at least 6x slower than usually on my connection – but FMPOW, it is definitely out of importance when filesizes are under 10 Mb.

        1. Thanks Robert,

          After moving hosts, I didn’t have the 7z mime-type. But as you point out, that’s a Zip file with a 7z extension. I’ll try to remember to rectify that later. RE: The download speed, you were probably the first one to download since the host change. I use CloudFlare, so that file should now be cached by them for maximum speed. It’s a shame my current host was slow on direct download.

  37. Hi. Thank you so much for posting this. Are these libraries compiled with MSVC? I see that there is a MinGW runtime in the archive. Also libpoppler.dll is definitely compiled with GCC 4.8.1, not with MSVC. Could you please clarify that?

  38. Hello together,
    i want to use your file : “poppler-0.51_x86.7z” but I ´ve a question:
    Is it possible to change the format of the Output-File?
    In our case we need a small size for example DIN A6 to Import this file into a PDF-File.

    1. Poppler is used to Read PDF files, not to write them. From your question it looks like you’re trying to generate PDF files. If you’re using .Net, iTextSharp is a library I have used before for doing that. But do some research for yourself, because there might be something better for your specific needs, or a new recent library.

  39. Hello Todd,
    we have a PDF-File and we want to generate a JPEG-File with your Tool. We have an Work Arround with a Tool that generates PDF-Files with an electronic Signature an we want to Import the JPEG-File into the PDF before Signature. For that reason we are looking for an Tool that changes PDF-Files into JPEG-Files but we need a small size Picture. Can you help us?

    1. Oh well, now it is a little bit more understandable. Perhaps it is/was a language problem (your sentences are still a little bit unclear to me). Poppler – namely application(s) pdftoppm.exe and/or pdftocairo.exe – can convert PDF to JPEG. But what you need is to set a proper resolution, eventually JPEG quality (it also influences the JPEG size). As far as I know, none of these tools are able to set JPEG quality; pdfcairo may be able to set the resolution, pdftoppm not. (For howto, see pdftocairo.exe –help) You can give it a try. But generally I can recommend using ImageMagick or GraphicsMagick for such a task; both are able to convert PDF to JPEG and to set the resolution and the JPEG quality, too.
      Just to add, if you were to EXTRACT some JPEG images contained in PDF, then pdfimages.exe (–help) does such job.

    1. Totally fine. I didn’t know ImageMagick could do PDF to Image conversion. Alex asked for “small” picture size. I don’t think that means JPEG quality, but interesting that it isn’t in there. I usually use C#, so for reduced JPEG quality I would recompress: PDF > JPG(100) > JPG(80). Finally, you can set -paper, but -paperw and -paperh gives you the most control. Most of these kind of questions are related to Poppler though, not the compiling of it. So you can look at the Poppler website for support options. There’s a mailing list, and I think an IRC channel.

  40. Hello Todd,
    hello Robert,
    thanks a lot for your answers. I´ll try your tipps.
    Wish you a nice day and have a good time.
    Best wishes

  41. Hi,
    I was happy to find your great job. I want to use only pdftotext. Can you help me with giving me the minimal files i need to use (dll, etc…)

  42. Sorry, but I am new in Poppler, I am using Windows, I download it, but ¿How can I install in python?, please answer my question.

    1. Hi Luis, There is one download for Windows that you can use directly. There’s no need for “Python”, that’s speaking of HOW I made it available for Windows. Kindly accept my answer.

  43. Hi,

    Thank you so much for sharing your great work.
    I see a few comments about x64 binaries development from 2015, is there any update on this?


  44. What version of MingW has poppler-0.51_x86.7z been compiled? Where can I find the Headers to add in my compiler to compile? Could you make it available?

  45. Poppler 0.60 was released several days ago and possibly it can handle URLs directly. Todd are you planning to publish windows build for 0.60 soon?

  46. Hi ,

    Thanks for the community to did it and now we can use poppler on windows.

    Is it possible to know how it did it technically ?
    I spend hours to build new poppler version on windows (>0.59)


  47. Hello,

    Thank you for making this available. Any word on an update? There is currently a bug that prevents conversion to TIFF.


  48. Hello,
    I would appreciate if someone can compile the latest poppler version 0.62 as of Dec 3, 2017, to a Windows binary. Thank you very much.

  49. Hello Todd,

    Is there any hope that some of your precious time could be invested in compiling the latest poppler builds into windows binaries.

    thank you in advance

  50. Hi everybody,
    I tried to install pdf2text for python2.7, and I got this erreor message
    pdftotext.cpp(3) : fatal error C1083: Cannot open include file: ‘poppler/cpp/poppler-document.h’

    Please help
    Kind regards

    1. I got same error (running with Windows 10), did you find a solution?

      pdftotext.cpp(3): fatal error C1083: NÆo ‚ poss¡vel abrir arquivo incluir: ‘poppler/cpp/poppler-document.h’: No such file or directory
      error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX86\\x86\\cl.exe’ failed with exit status 2

  51. I have the same issue as gustavo. tried to install “pdftotext” but got error message ”
    pdftotext.cpp(3): fatal error C1083: Cannot open include file: ‘poppler/cpp/poppler-document.h’: No such file or directory
    error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe’ failed with exit status 2 ”

    then i copied the poppler folder in include folder of anaconda3 and got a new error message
    ” LINK : fatal error LNK1181: cannot open input file ‘poppler-cpp.lib’
    error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe’ failed with exit status 1181″ .
    I am a noobie so don’t know what i am doing wrong. please reply asap.(in case it is helpful i wanted to install pdf2text for textract. in case an alternative exists please guide me)

  52. I have the same issue as gustavo. tried to install “pdftotext” but got error message ”
    pdftotext.cpp(3): fatal error C1083: Cannot open include file: ‘poppler/cpp/poppler-document.h’: No such file or directory
    error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe’ failed with exit status 2 ”

    then i copied the poppler folder in include folder of anaconda3 and got a new error message
    ” LINK : fatal error LNK1181: cannot open input file ‘poppler-cpp.lib’
    error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe’ failed with exit status 1181″ .
    I am a noobie so don’t know what i am doing wrong. please reply asap.(in case it is helpful i wanted to install pdf2text for textract. in case an alternative exists please guide me)

  53. Latest news from https://poppler.freedesktop.org/ :
    “The latest stable release is poppler-0.67.0.tar.xz, released on Jul 19, 2018: core: * Fix lots of security/leak issues found by oss-fuzz”

    That means a new windows release here would be extra appreciated. A complete build tutorial would also be very useful, see these posts with people having trouble building

      1. Hi Todd, I see new windows build for poppler 0.54. Thank you for your efforts!
        Does this mean that it is not so easy to compile latest 0.67 for windows? Any chance that you’ll publish build for 0.67 a bit later?

          1. Many thanks for 0.67! However, in this windows build I found the following issues in comparing to poppler 0.67 on linux:
            – URL as input doesn’t work, on any URL ‘Internal Error: Cannot handle URI’ is returned
            – tiff output (-tiff) still doesn’t work (as in previous 0.51), pdftoppm returns ‘-: Error writing TIFF header.’

          2. Hi Vit, now that we have the build system working again, we can turn our attention to restoring/adding support. At the moment, my focus is to ensure the build-system is as reliable, documented and up-to-date as possible. The easier it is for others to run the better – then they can contribute.

            I saw that Poppler references libcurl – I’m not sure if that’s handled properly by our build-system, so that might be an easy fix. I’m sure we have libtiff support, and perhaps it needs a new target for dependency dll.

          3. Thank you for 0.67. But alas, now 0.68 is out on https://poppler.freedesktop.org/ .

            I tried about a year ago to build poppler myself and failed. I have heard others have similarly failed. So it would be greatly appreciated if you provide a tutorial and files for your build setup.

          4. We have updated to 0.68, and we have been working on the builder code repo to make it easier for others to reproduce. You should check to repo for recent changes. We’ll include more detailed and up-to-date instructions too, hopefully in the near future. I also added a new idea to the blog post about using Windows For Linux, which I believe will be very relevant to most software developers these days, and not just for Poppler of course, but also all Linux resources.

  54. Hi,

    It is not working for me. i am trying to detach the attachments from pdf. but could not.

    Can you please let me know the proper way of extracting attachments from pdf?


  55. Hello,
    I’m unable to see the download link. It seem an error in the page.

    Parse error: syntax error, unexpected ‘=’, expecting ‘)’ in D:\sites\alivateAdmin\alivate.com.au\home\wp\blog\wp-content\plugins\insert-php\insert_php.php(48) : eval()’d code on line 3

    It is possible to have the link to download the latest?


  56. Download

    Parse error: syntax error, unexpected ‘=’, expecting ‘)’ in D:\sites\alivateAdmin\alivate.com.au\home\wp\blog\wp-content\plugins\insert-php\insert_php.php(48) : eval()’d code on line 3

    Update [2018-08-29]:

  57. Hi!
    Seems like there is some kind of server error:

    Parse error: syntax error, unexpected ‘=’, expecting ‘)’ in D:\sites\alivateAdmin\alivate.com.au\home\wp\blog\wp-content\plugins\insert-php\insert_php.php(48) : eval()’d code on line 3

    Instead of the download link this shows so I’m not able to download it.

  58. Hi Todd,

    Your download link appears to be broken. I’m seeing the following, both in Chrome and Edge:


    Parse error: syntax error, unexpected ‘=’, expecting ‘)’ in D:\sites\alivateAdmin\alivate.com.au\home\wp\blog\wp-content\plugins\insert-php\insert_php.php(48) : eval()’d code on line 3

  59. When I tried to download the latest Poppler binary, it was blocked by my company’s firewall. I received the following message:

    This request is blocked by the SonicWALL Gateway Anti-Virus Service. Name: MalAgent.J_41038 (Trojan) blocked.

    Has your website been compromised?

    1. I have deleted this edition as a precaution. It’s possible to get false positives, but I certainly don’t want to distribute an infected version. I tried some of the previous ones via VirusTotal and they come up clean, and the files themselves don’t have a changed modified date since they were first uploaded on 10th of August.

      1. We have rebuilt a new server, compiled version 68 and scanned for viruses before publishing here. I’ll plan to further improve our hosting practices including immutable third-party file serving, and .exe signing. But I don’t have a budget or timeframe for this yet. Please always do your own virus checks as well.

  60. Greetings,
    Virustotal marks it as infected
    Baidu: Win32.Trojan.WisdomEyes.16070401
    SHA-256 f2ac099f6bb9c998da858d3818f7ee19b5be5813e80da72b21a509762f77fdd0
    File name pdfdetach.exe

      1. Thank you for taking this seriously, I’ve heard both stories of false positives (for this particular malware no less) and stories of people who have had malware slipped into their websites and/or software unbeknownst to them.

  61. We have tried using the current poppler build system to build version xx.69 but there are src code changes which are causing problems. So there may be some delay with getting the latest version.

  62. Hi Todd,
    it seems latest builds (at least 0.67 and 0.68) cannot handle some PDFs that old 0.51 build was able to render: this is PDFs with scan results (so they contain images in fact), error is:

    Syntax Error (22572437): Unknown filter ‘JPXDecode’

    (and result is just white image)
    Maybe this is just matters of dependencies, as 0.51 renders these PDFs without any errors.

  63. Hi,

    pdftotext 0.68 has an encoding problem.
    If there are Umlaute (e.g. “ü”) in the filename of the PDF those get wrongly encoded in the filename of the generated txt-file. This happens even if the filename is specified in the command.
    It works in version 0.51.

    v0.68: pdftotext ü.pdf -> ü.txt
    v0.68: pdftotext ü.pdf ü.txt -> ü.txt
    v0.51: pdftotext ü.pdf -> ü.txt
    v0.51: pdftotext ü.pdf ü.txt -> ü.txt

Leave a Reply

Your email address will not be published. Required fields are marked *