--- poppler/PSOutputDev.cc~ 2013-12-16 11:43:07.031088704 +0100 +++ poppler/PSOutputDev.cc 2013-12-16 13:08:54.111226539 +0100 @@ -3565,6 +3565,7 @@ GBool landscape; GooString *s; PSOutPaperSize *paperSize; + GooString *name = NULL; xref = xrefA; if (mode == psModePS || mode == psModePSOrigPageSizes) { @@ -3646,8 +3647,24 @@ } } } - paperSize = (PSOutPaperSize *)paperSizes->get(pagePaperSize[pageNum]); - writePSFmt("%%PageMedia: {0:t}\n", paperSize->name); + if (paperMatch) { + paperSize = (PSOutPaperSize *)paperSizes->get(pagePaperSize[pageNum]); + name = new GooString(paperSize->name); + } else { + const StandardMedia *media = standardMedia; + while (media->name) { + if (pageDimensionEqual(width, media->width) && + pageDimensionEqual(height, media->height)) { + name = new GooString(media->name); + break; + } + media++; + } + if (!name) + name = GooString::format("{0:d}x{1:d}mm", + int(width*25.4/72), int(height*25.4/72)); + } + writePSFmt("%%PageMedia: {0:t}\n", name); if (rotate == 0 || rotate == 180) { writePSFmt("%%PageBoundingBox: 0 0 {0:d} {1:d}\n", width, height); } else {