Xpdf - PDFdetach - Command Line Utility to Detach Attachments from PDF Files

Posted on
12,886 Points
4 Endorsements
Last Modified:
Experience Level: Intermediate
Joe Winograd, Fellow&MVE
50+ years in computer industry. Everything from development to sales. CIO. Document imaging. EE MVE 2015, EE MVE 2016, EE FELLOW 2017.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable for use in batch files, programs, and scripts — any place where a command line call can be made.

Video Steps

1. Download the software.

You may have already downloaded and unzipped the Xpdf tools while watching the first video in the Xpdf series, but if you haven't, then visit the Xpdf website. Click the Download link and then click the pre-compiled Windows binary ZIP archive to download the utilities for Windows.


2. Locate the documentation folder for the Xpdf utilities.

Go to the folder where you unzipped the downloaded ZIP file and find the <doc> folder.


3. Read the documentation for the PDFdetach tool.

Go into the <doc> folder and find the plain text file called <pdfdetach.txt>.

Open it with any text editor, such as Notepad, and read it. This is the documentation for the PDFdetach tool.


4. Set up a test folder.

Create a test folder.

Copy <pdfdetach.exe> from the unzipped <bin32> folder into your test folder.

Copy a sample PDF file that has attachments into your test folder (in the video and the screenshots below, the file is called test.pdf, which is a PDF file created from my EE article, Windows 10 uses YOUR computer to help distribute itself, but with some attachments added to it).


5. Set up a command prompt for testing.

Open a command prompt window.

Navigate to your test folder.

Issue a DIR command in the command prompt to be sure that only two files are in it - the PDFdetach executable and the sample PDF file.


6. View and extract attachments in the test file using Adobe Acrobat or any PDF reader/viewer.

The exact technique depends on what PDF product you use, but, for example, in Adobe Acrobat and Adobe Reader, click the paper clip icon to open the Attachments pane, Select All of the attachments, then click the Save Attachment icon. The purpose of this step is simply to validate the existence of attachments in the test PDF file.


7. Issue DIR command to show that the files were extracted.

Run a DIR command to confirm that the files were extracted, but then delete them in preparation for using PDFdetach.


8. Run PDFdetach with the -list option.

Issue this command:

pdfdetach -list test.pdf

This will show a list of all the attachments in your test PDF file.


9. Run PDFdetach with the -saveall option.

Issue this command:

pdfdetach -saveall test.pdf

This will detach all the attachments in your test PDF file and save each one in a separate file. Issue a DIR command to show that PDFdetach was successful.

That's it! If you find this video to be helpful, please click the thumbs-up icon below. Thank you for watching!
Python 3 Fundamentals
Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

  • 2
  • 2
LVL 27

Expert Comment

Hi Joe,

Thanks for this info.
I haven't looked at the docs yet but... does pdfdetach just extract a copy of the attachments? Does it have a "remove attachments from PDF" option?
LVL 63

Author Comment

by:Joe Winograd, Fellow&MVE
Aloha NewVillage,
You're welcome. It just extracts — does not have a "remove attachments" feature. A way to achieve that is to extract first with PDFdetach and then print the file to a PDF print driver. I tested three print drivers (Bullzip, CutePDF, doPDF) and all of them created a new PDF without the attachments — normally, I'd complain about that, but in this case, it's just what the doctor ordered. :)  However, those three print drivers all put up a GUI. You'll need to look elsewhere if you want a command line version, such as PDFCreator (from pdfforge) or bioPDF (the non-free version of Bullzip), but I didn't test either. Mahalo, Joe
LVL 27

Expert Comment

Hi Joe...

> A way to achieve that is to extract first with PDFdetach and then print the file to a PDF print driver.

That would work for me. Thanks!

LVL 63

Author Comment

by:Joe Winograd, Fellow&MVE
A`ole pilikia!

Featured Post

Learn Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

In this article, we will discuss the new features which are introduced into the Angular 6 version.
Know the step by step procedures to split secured PDF documents. Also, learn a simple technique to remove passwords from protected PDF documents. This blog provides two ideal solutions that help users to split password protected PDF files.

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month