Создать файл PDF из Excel: проблема с изображениями - PullRequest
1 голос
/ 01 июня 2011

У меня есть шаблон Excel , который я использую для создания спецификаций PDF для наших поставщиков. Я могу открывать, манипулировать и экспортировать в файл PDF нормально, кроме случаев, когда я вставляю картинку. Это код, который я использую, чтобы добавить одну картинку

workSheet.Shapes.AddPicture(imagePath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 120, 700, image.Width, image.Height);

и это код для сохранения файла PDF:

private void createPDF()
{
     if (File.Exists(path + basePart.Number + ".pdf"))
         File.Delete(path + basePart.Number + ".pdf");
     workBook.Saved = true;
     workSheet.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, path + basePart.Number, Excel.XlFixedFormatQuality.xlQualityStandard, true,
                false, Type.Missing, Type.Missing, true, Type.Missing);
     DisposeExcelInstance();
}

Без каких-либо изображений PDF-файл сохраняется нормально. С изображениями файл PDF сохраняется, но не может быть открыт. Я попробовал несколько программ для чтения PDF-файлов на всякий случай, но, конечно, ни один из них не работает.

EDIT:

Я пробовал разные форматы Excel, но ни один из них не работал. Кажется, что ExportAsFixedFormat не работает с изображениями, независимо от того, как они вставляются в документ. Есть ли альтернатива этому?

1 Ответ

2 голосов
/ 02 июня 2011

Microsoft благодарит за это.6 часов более или менее ударившись о стену на нескольких компьютерах с несколькими форматами файлов и инструментами для работы с файлами PDF. Я обнаружил, что это проблема совместимости с Excel 2010.

Я наконец-то получил запасной ноутбук, поэтомумог прекратить глючить других людей, чтобы проверить что-то на своих ПК, и на ноутбуке был Excel 2007, и это работало как прелесть.Фактическая проблема, хотите верьте, хотите нет, заключается в том, что при работе с Excel 2007 (версия, в которую изначально был встроен шаблон) кто-то поместил его в представление «Макет страницы», которое работало в Excel 2007 и более старых версиях при созданииPDF-файл с изображением.

В Excel 2010 это иногда позволяет мне уйти с представлением макета страницы, но никогда с изображениями.Я хотел бы сделать это.Я не думал, что представление действительно имеет какое-либо отношение к функциональности электронной таблицы.Это очень специфическая проблема, но, надеюсь, когда-нибудь она спасет кого-то от головной боли.

...