В Office 2010 есть встроенная функция создания PDF.

File->Save & Send->Create PDF/XPS Document

Я создал файл pptx в win7, а затем преобразовал его в win7.pdf.

затем я скопировал pptx в xp и преобразовал его в xp.pdf

Эти 2 файла PDF отличаются по размеру на первый взгляд.

затем я использовал ICEpdf для преобразования 2 PDF в изображение, затем сравнил 2 изображения на каждый пиксель.

for(int i=0;i<width;i++){
         for(int j=0;j<height;j++){
                final int color1=img1.getRGB(i,j);
                final int color2=img2.getRGB(i,j);
                if(color1!=color2){
                    identical=false;
                }
                diffImage.setRGB(i,j,color1^color2);
            }
        }

Затем я сохранил изображение diff на диск, это выглядело так:

PS:

  • Я уверен, что это не проблема шрифта, потому что я пробовал несколько шрифтов.
  • Это не проблема моей программы или ICEpdf, потому что, если я сравниваю их в Adobe Reader(достаточно увеличить), я вижу разницу.

Почему Office 2010 по-разному конвертирует один и тот же pptx в pdf на разных машинах? Может ли кто-нибудь помочь мне с этим?

1 ответ1

1

Таким образом, проблема (если это проблема, хотя я не совсем понимаю, почему это так) заключается в том, что символы располагаются немного по-разному между двумя версиями?

PowerPoint использует локальный драйвер принтера для метрик шрифта; Я предполагаю, что вы видите разницу между драйверами принтера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .