Конвейер контента плохо обрабатывает вашу ситуацию. Он не поддерживает импорт одного файла и создание нескольких выходных данных (в вашем случае PDF в текстуру для каждой страницы). ( ссылка )
Кроме того, я полагаю, что вы захотите использовать сторонний внешний инструмент командной строки для преобразования ваших страниц PDF в текстуры (на мой взгляд, ImageMagick, вероятно, является хорошим местом для начала). Следующий подход также избавит вас от необходимости интегрировать его в конвейер контента.
Итак, вот что я хотел бы сделать: прежде всего, запустите инструмент преобразования PDF перед сборкой конвейера контента. Простым (но медленным) местом будет событие перед сборкой вашего контент-проекта. Я бы предложил конвертировать PDF в несколько файлов PNG.
А затем используйте подстановочный знак для включения всех этих файлов PNG в ваш контент-проект. Вот вопрос, который объясняет это .
Когда вы собираетесь загружать свои текстуры, просто используйте что-то вроде Directory.EnumerateFiles
, чтобы найти имена результирующих файлов XNB в соответствующем пути к содержимому.
(Если вы хотите добавить перетаскивание в Visual Studio, вы можете возиться с MSBuild , чтобы удалять элементы PDF и заменять их подстановочными элементами PNG или чем-то подобным. Это также имеет преимущество разрешить вам перестраивать ваши PNG только при изменении PDF, делая вашу сборку намного быстрее. Я оставлю это в качестве упражнения.)
Конечно, если вы просто делаете несколько фиксированных файлов PDF - просто преобразуйте их в изображения непосредственно с помощью инструмента и добавьте их в свой контент-проект.