I've been struggling with blurb.com's PDF/X-3:2002 requirement, and their unhelpful automatic checking that doesn't tell you much about why your file is failing the preflight tests...
Eventually I learnt what I needed to do from the createspace package and this blog post.
This minimal example below went through the tests of blurb.com all right. I compiled with lualatex. If you want to use pdflatex, you'll have to set the font without fontspec.
\documentclass[10pt,twoside]{memoir}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\usepackage[cmyk]{xcolor}
%% On the front page, blurb.com displays rounded values of the page sizes. For example, it would say that pocket size is 5x8 in. However, during the upload process it will display accurate values
%% blurb.com pocket size:
%% 5.125 x 8.25 in
%% 369 x 594 pts
%% Use inches! Using pt somehow produces a pdf that blurb.com recognizes as different size.
\usepackage{geometry}
\geometry{
paperwidth=5.125in,
paperheight=8.25in,
inner=15mm
}
\setlength{\stockwidth}{5.125in}
\setlength{\stockheight}{8.25in}
%% microtype, for better justification, etc.
\usepackage{microtype}
\microtypesetup{
% babel=true,
final
}
\usepackage{lipsum}
%% PDF/X-3:2002 info
%% Replace the title, author, etc. information accordingly to your book.
%% The \pageattr values have to be in pt, compare with the page size settings above.
\pdfobjcompresslevel=0%
\pdfminorversion=3%
\pdfinfo{
/Title (My Book Title)
/Author (Mr Author)
/Subject (biography)
/Keywords (humans)
/GTS_PDFXVersion (PDF/X-3:2002)
}%
\pdfpageattr{
/MediaBox [0 0 369.00000 594.00000]
/BleedBox [0.00000 0.00000 369.00000 594.00000]
/CropBox [0 0 369.00000 594.00000]
/TrimBox [0.00000 0.00000 369.00000 594.00000]
}
\pdfcatalog{
/PageMode /UseNone
/OutputIntents [ <<
/Info (none)
/Type /OutputIntent
/S /GTS_PDFX
/OutputConditionIdentifier (Blurb.com)
/RegistryName (http://www.color.org/)
>> ]
}%
\begin{document}
\chapter{Lorem Ipsum}
\lipsum[1-150]
% an extra page to make it an even number
\newpage\mbox{}
\end{document}