Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/48: Рейтинг темы: голосов - 48, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 26.10.2009
Сообщений: 8

Редактирование pdf

26.10.2009, 18:12. Показов 10089. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Подскажите пожалуйста, какие существуют библиотеки (желательно бесплатные) по редактированию pdf "на лету".
Т.е. надо взять существующий pdf, вставить в нужное место текст, и сохранить pdf.
Интересует именно текст. Как картинку я нашел(pdflib) Пробовал создавать картинку bitmap и вставлять в нее текст, потом эту картинку(jpeg, т.к. pdflib не смог заставить вставлять bmp) вставлял в pdf.
Выгядит эта картинка в pdf ужасно.
Подскажите что нибудь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.10.2009, 18:12
Ответы с готовыми решениями:

Редактирование pdf файла
Всем привет. Такой вопрос: как наиболее просто редактировать pdf Файлы? Нужно, например, в программе задать образец текста, найти его в...

Работа с PDF файлами: создание и редактирование
Доброго времени суток :) Возник интерес методами C# создать и редактировать PDF файлы. Прогуглив нашел что прямых библиотек нет и надо...

Как организовать работу PDF, чтоб он искал в PDF файле определенную строку
Имеется код (Он всего лишь создает файл и текст, который указывается в форме) using System; using System.IO; using...

6
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
27.10.2009, 03:39
ITextSharp

А в jpeg - эта картинка точно нормально выглядит?
0
2 / 2 / 1
Регистрация: 26.10.2009
Сообщений: 8
27.10.2009, 12:25  [ТС]
В jpeg картинка идеальная. А вот в pdf просто ужас. Видны квадраты. Как будто jpeg проходит еще какую то конвертацию.
ITextSharp я ковырял уже. Там он только создавать новый pdf может. А открывать существующий нет. Ша попробую поглубже присмотреться, может что и упустил. Примеров на нем накачал.

Добавлено через 1 час 52 минуты
присмотрелся к jpeg. Оказывается в нем уже глюк. Там где вставляю тектс помощью Graphics в BitMap, вокруг текста видно смазанные пиксели. Где текст закончился их нет. Отсюда и ужасное отображение в pdf
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
28.10.2009, 02:44
Покажите код, как картинка вставляется в файл.

Добавлено через 14 минут
Здесь по работе с существующим файлом для ITextSharp
0
2 / 2 / 1
Регистрация: 26.10.2009
Сообщений: 8
28.10.2009, 10:48  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
_xObject = New clsPdfXObject
        CreateImage(OutputText, iWidth, iHeight)
 
Private Sub CreateImage(ByVal OutputText As String, ByVal iWidth As Integer, ByVal iHeight As Integer) 
        Dim mm As New MemoryStream
        Dim BitText As New Bitmap(iWidth, iHeight)
        Dim flagGraphics As Graphics = Graphics.FromImage(BitText)
        flagGraphics.Clear(Color.White)
 
        flagGraphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
        flagGraphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
        flagGraphics.PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality
        'flagGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias
 
        Dim font As New System.Drawing.Font("Arial", 8, System.Drawing.FontStyle.Regular)
        Dim text As New System.Drawing.SolidBrush(System.Drawing.Color.Black)
        Dim pointHead As New System.Drawing.PointF(1.0F, 2.0F)
 
        flagGraphics.DrawString(OutputText, font, text, pointHead)
 
        BitText.Save(mm, System.Drawing.Imaging.ImageFormat.Jpeg)
        ' сбрасываю на диск. временная строчка
        BitText.Save("c:\temp.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
        flagGraphics.Dispose()
 
        _xObject.Width = iWidth
        _xObject.Height = iHeight
        _xObject.StreamObject.Filter = PdfFilters.DCTDecode
 
        Dim i As Integer
        i = 0
        mm.Seek(0, SeekOrigin.Begin)
        While (i < mm.Length)
            _xObject.AddValue(Convert.ToByte(mm.ReadByte()))
            i += 1
        End While
        mm.Close()
        _xObject.StreamObject.SetStreamLength()
--------
Код на VB т.к. это в библиотеке PDFLib
-------
Сейчас полностью перешел на iTextSharp. В нем использую AcroField.
Но с картинкой так и не разобрался.
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
29.10.2009, 03:35
Попробуйте с этим
Сохранение в формате jpg с минимальной потерей качества по сравнению в bmp
1
2 / 2 / 1
Регистрация: 26.10.2009
Сообщений: 8
29.10.2009, 12:04  [ТС]
Green большое спасибо!
Jpeg действительно стал лучше. Нет смазанных пиксель вокруг текста.

А что нибудь наподобии с текстом можно сделать?
Т.е. улучшить его пикселизацию(чтобы красивей и более округлый стал)?
Если раскоментирую 13 строчку то текст расплываеться. Некоторые пиксели становяться менее жирнее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2009, 12:04
Помогаю со студенческими работами здесь

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

Создание и редактирование PDF в c#
Здравствуйте , хотелось бы узнать каким образом это возможно , сторонние библиотеки не интересуют.

Разделение pdf-файла на несколько pdf-файлов
Здравствуйте, подскажите как разделить файл pdf - состоящий из n-страниц, на несколько файлов pdf через itextsharp.

C++ и редактирование PDF
Здравствуйте! Прошу знающих людей подсказать, можно ли средствами C++ ( с использованием каких-либо библиотек) открыть внутреннюю структуру...

Редактирование PDF файла
Добрый день. Необходимо отредактировать pdf файл(удаление и правка текста). Подскажите чем это можно сделать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru