2013-05-31 6 views
2

Я ищу способ конвертировать PDF-файл высокого разрешения в PDF-файл с низким разрешением из приложения ASP.NET (C#). Пользователи будут импортировать PDF с высоким разрешением, и тогда решение должно иметь возможность предоставить PDF и PDF с высоким разрешением. Я ищу API для этого. Я нашел много PDF-файлов, но ни один из них, похоже, не делает то, что я ищу.Преобразование PDF в PDF с высоким разрешением PDF-файл C#

+0

Какие файлы являются HR_PDF и LR_PDF? Быстрый поиск в Google не нашел ничего. – iPDFdev

+0

Из любопытства, что такое HR_PDF, и что такое LR_PDF? – mkl

+0

High Res, Low Res – Darren

ответ

0

ABCpdf .NET сделает это за вас. Существует множество функций для изменения размера, повторной дискретизации или повторного сжатия изображений в PDF-документе. Однако, учитывая ваши требования, вы, вероятно, просто хотите использовать документ для уменьшения размера операции.

Для этого нужно просто код следующего вида:

Doc doc = new Doc(); 
doc.Read(Server.MapPath("../mypics/sample.pdf")); 
using (ReduceSizeOperation op = new ReduceSizeOperation(doc)) { 
op.UnembedSimpleFonts = false; // though of course making these true... 
op.UnembedComplexFonts = false; // ... would further reduce file size. 
op.MonochromeImageDpi = 72; 
op.GrayImageDpi = 72; 
op.ColorImageDpi = 144; 
op.Compact(true); 
} 
doc.Save(Server.MapPath("ReduceSizeOperation.pdf")); 

Я работаю на компонент программного обеспечения ABCpdf .NET, так что мои ответы могут показать концепции, основанные вокруг ABCpdf. Это то, что я знаю. :-)

0

Возможно, вы сможете изменить размер изображений в высоком разрешении PDF, и это даст вам гораздо меньше файлов.

Вы можете изменить размер и/или повторно сжать изображения, используя Docotic.Pdf library. Для получения дополнительной информации см. my answer to a similar question.

Отказ от ответственности: Я являюсь одним из разработчиков библиотеки Docotic.Pdf.

0

Существует ряд возможных подходов к этой проблеме, одним из которых было бы просто дважды экспортировать из InDesign (что позволит вам сделать две требуемые версии PDF). Если это невозможно (что может быть не так, как экспорт из InDesign может занять немного времени), на рынке есть определенные библиотеки, которые могут выполнять то, что вы хотите сделать. Здесь у вас есть несколько подходов:

1) Хотя это заставило меня застрелить большинство сотрудников Adobe, вы можете перенаправить ваш файл PDF в меньший файл. Я бы не защитник, чтобы сделать это, я упоминаю, что он будет полным. Связанные с этим риски будут представлять собой потерю качества, артефакты и т. Д. (В основном потому, что PostScript не поддерживает ряд функций, поддерживаемых PDF, и путем переназначения вы потеряете эти функции).

2) Используйте приложение или библиотеку, созданную для этой задачи. callas pdfToolbox например (предупреждение, я связан с этой компанией!) способен взять файл PDF и исправить исправления. Среди этих исправлений - понижающая дискретизация изображения, преобразование в RGB, повторное сжатие изображения (например, с JPEG-2000), удаление ненужных данных в PDF и многое другое. Учитывая, что приложение имеет интерфейс командной строки, его можно легко интегрировать в процесс C#. Другие приложения с подобной функциональностью будут от компаний, таких как Enfocus, Apago и других.

3) Используйте низкоуровневую библиотеку PDF (такую ​​как библиотека Adobe PDF, которая может быть лицензирована от Adobe через DataLogics) и внесите необходимые изменения самостоятельно. Больше работы, но потенциально более гибкой.

Независимо от выбранного вами подхода, знайте, что вы начинаете с высококачественного PDF-файла и что ваш процесс должен стараться сохранить как можно больше такого качества (в зависимости от того, какое приложение вы используете для файла PDF с низким разрешением курс). Удостоверьтесь, что вы не попали в неприятности, потеряв надлежащую надпечатку, прозрачность и т. Д.

+0

К сожалению, у меня нет возможности создать файл с низким разрешением из Indesign или из аналогичной программы, я должен сделать это из кода. И, к сожалению, для этого мне нужно какое-то решение с открытым исходным кодом. –

+0

Тогда все, что вам осталось, это вариант 3) и попытайтесь найти библиотеку, которую вы можете использовать, которая не разрушает файл PDF. Я не очень хорошо знаком с ними, поэтому мне придется пройти. Могу ли я предложить вам добавить требование к решению с открытым исходным кодом/бесплатным решением на ваш вопрос? Это может помочь направить дальнейшие ответы в правильном направлении ... –

Смежные вопросы