Re[9]: API для работыс PDF
От: Andre Украина  
Дата: 28.02.05 14:52
Оценка: 3 (2)
C>О! вот это уже интереснее. И логично — у клиентов нашего проекта должен стоять Acrobat. И не надо платить 1600 баков А где можно доки найти по этим всем методам?

Мы делали методом научного тыка Доки найшли когда уже все было готово.

Поищи на сайте адоба IACReference.pdf
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
Я бы изменил мир — но Бог не даёт исходников...
Re[5]: API для работыс PDF
От: Pavel Kalyakin http://www.livejournal.com/users/pavelk/
Дата: 28.02.05 13:20
Оценка: 2 (1)
Здравствуйте, Corvin, Вы писали:

PK>>>>Reporting Services ?

C>>>простите меня неразумного, это что такое?
PK>>Reporting Services

C>посмотрел, — что-то сложно как-то... На сайте ни строчки кода, а абстрактные рассуждения о том, что Reporting Services — это круто. Как я понял, это целый набор программ, для импорта различных данных в какие-то базы данных и вывода их на различные устройства (непонятно как — у меня вообще создалось впечатление, что это не программный API, а какой-то отдельный продукт).


Это пока отдельный продукт — бесплатный add-on к MS SQL Server. В Yukon'е будет уже встроен. Предназначен для создания отчетов. В комплекте идет визуальный редактор отчетов, который встраивается в VS.NET и web-часть, куда публикуются отчеты. Также поставляется ряд web-сервисов, через которые отчеты можно получать в виде .pdf, оффисных форматов и т.д.
Также можно дописывать то, что не хватает. Инструмент очень мощный и, повторюсь, бесплатный.

C>Мне хотелось бы знать, как работать с форматом PDF из кода, на отдельно взятом клиентском компьютере — иметь возможность написать что-то вроде

Имеет смысл посмотреть на sourceforge.org — я там видел какие-то open-source наработки для pdf или купить коммерческие компоненты.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Павел Калякин, MCDS.NET, MCS
http://www.livejournal.com/users/pavelk — Мой блог
Re[5]: API для работыс PDF
От: V.Petrovski Беларусь  
Дата: 28.02.05 13:36
Оценка: 2 (1)
Здравствуйте, Corvin, Вы писали:

C>Как сделать такое? Как Adobe Acrobat Reader работает с PDF? Через какие API?

Есть PDFRasterizer.NET для печати PDF.

Код для печати будет выглядить вот так.
class PDFPrinter
{
    string pdfFile;
    int curPage = 0;
    Document document;
    
    public PDFPrinter(string pdfFile)
    {
        this.pdfFile = pdfFile;
    }
    
    public void Print() 
    {
        if(document == null)
        {
            try 
            {
                // open the PDF document
                document = new Document(pdfFile);
                curPage = 0;
                try 
                {
                     printFont = new Font("Arial", 10);
                     PrintDocument pd = new PrintDocument();
                     pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
                     pd.Print();
                }  
                finally 
                {
                 document.Dispose();
                 document = null;
                }
            }  
            catch(Exception ex) 
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
    private void pd_PrintPage(object sender, PrintPageEventArgs ev) 
    {
        if(curPage < document.Pages.Count)
        {
            // get the current page
            Page page = document.Pages[curPage];   
            
            // do the actual rendering
            page.Draw(ev.Graphics); 
            
            // go to next page
            curPage++;
            
            // If more pages exist, print another page.
            if(curPage < document.Pages.Count)
             ev.HasMorePages = true;
            else
             ev.HasMorePages = false;
        }
        else
            ev.HasMorePages = false;
    }
}
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[7]: API для работыс PDF
От: Andre Украина  
Дата: 28.02.05 14:11
Оценка: 2 (1)
C>>>Как сделать такое? Как Adobe Acrobat Reader работает с PDF? Через какие API?

У Adobe Reader есть ActiveX.
Делаешь новую сборку типа ClassLibrary далее Add Reference -> вкладка COM и выбираешь кажется Acrobat Control for ActiveX.
В полученной обертке есть куча методов используя которые можно работать с PDF. Создаешь там UserControl или форму куда помещаешь и настраиваешь обертку. В принципе все работает кроме:

Минусы:
— на клиенте обязательно должен быть Adobe Reader, приложение с оберткой сделанной под Adobe Reader 6.х корректно работает с ридерами версий 5, 4 (и кажется 3). Но в Adobe Reader 7.x сделали все по другому . В итоге пришлось сделать две обертки и подключать в зависимости от версии Adobe Reader у клиента.
— При первой загрузке формы просмотра грузится логотип Adobe Reader и не все элементы Adobe Reader можно отключить при просмотре PDF.
— не работает множественная печать документов. Один документ печатает на ура, а вот несколько никак.

p.s. Для чего отдельная сборка — чтобы позволить приложению работать и корректно отлавливать ошибки если на клиенте нет Adobe Reader.
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
Я бы изменил мир — но Бог не даёт исходников...
Re[8]: API для работыс PDF
От: Andir Россия
Дата: 01.03.05 05:28
Оценка: :)
Здравствуйте, Pavel Kalyakin, Вы писали:

PK>Здравствуйте, Andir, Вы писали:


A>>Как так бесплатный? Правда что-ли ... Дайте ссылочку

PK>How to obtain Reporting Services

И с каких пор триал == бесплатный? http://www.microsoft.com/sql/reporting/productinfo/trial.asp

С Уважением, Andir!
API для работыс PDF
От: Corvin Украина  
Дата: 28.02.05 11:20
Оценка:
Привет всем,

собствено, интересует сабж, а точнее стоит такая задача: на .NET заниматься печатью pdf документов — печатать несколько документов подряд, устанавливать параметры печати, делать print preview. Как такое сделать?

Спасибо
Re: API для работыс PDF
От: Pavel Kalyakin http://www.livejournal.com/users/pavelk/
Дата: 28.02.05 11:44
Оценка:
Здравствуйте, Corvin, Вы писали:
C>собствено, интересует сабж, а точнее стоит такая задача: на .NET заниматься печатью pdf документов — печатать несколько документов подряд, устанавливать параметры печати, делать print preview. Как такое сделать?
Reporting Services ?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Павел Калякин, MCDS.NET, MCS
http://www.livejournal.com/users/pavelk — Мой блог
Re[2]: API для работыс PDF
От: Corvin Украина  
Дата: 28.02.05 11:48
Оценка:
Здравствуйте, Pavel Kalyakin, Вы писали:

PK>Здравствуйте, Corvin, Вы писали:

C>>собствено, интересует сабж, а точнее стоит такая задача: на .NET заниматься печатью pdf документов — печатать несколько документов подряд, устанавливать параметры печати, делать print preview. Как такое сделать?
PK>Reporting Services ?

простите меня неразумного, это что такое?
Re[3]: API для работыс PDF
От: Pavel Kalyakin http://www.livejournal.com/users/pavelk/
Дата: 28.02.05 11:51
Оценка:
Здравствуйте, Corvin, Вы писали:

PK>>Reporting Services ?

C>простите меня неразумного, это что такое?
Reporting Services
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Павел Калякин, MCDS.NET, MCS
http://www.livejournal.com/users/pavelk — Мой блог
Re[4]: API для работыс PDF
От: Corvin Украина  
Дата: 28.02.05 13:08
Оценка:
Здравствуйте, Pavel Kalyakin, Вы писали:

PK>Здравствуйте, Corvin, Вы писали:


PK>>>Reporting Services ?

C>>простите меня неразумного, это что такое?
PK>Reporting Services

посмотрел, — что-то сложно как-то... На сайте ни строчки кода, а абстрактные рассуждения о том, что Reporting Services — это круто. Как я понял, это целый набор программ, для импорта различных данных в какие-то базы данных и вывода их на различные устройства (непонятно как — у меня вообще создалось впечатление, что это не программный API, а какой-то отдельный продукт). Мне хотелось бы знать, как работать с форматом PDF из кода, на отдельно взятом клиентском компьютере — иметь возможность написать что-то вроде


        private void button1_Click(object sender, System.EventArgs e)
        {
            PDFManager MyDoc=new PDFManager(@"C:\docs\report.pdf");
            MyDoc.PrintingLayout.leftMargin = 2;
            MyDoc.PrintingLayout.rightMargin = 2,4;
            MyDoc.Print(DEFAULT_PRINTER);
        }


Как сделать такое? Как Adobe Acrobat Reader работает с PDF? Через какие API?
Re[6]: API для работыс PDF
От: Corvin Украина  
Дата: 28.02.05 13:45
Оценка:
Здравствуйте, V.Petrovski, Вы писали:

VP>Здравствуйте, Corvin, Вы писали:


C>>Как сделать такое? Как Adobe Acrobat Reader работает с PDF? Через какие API?

VP>Есть PDFRasterizer.NET для печати PDF.

Здорово $1599 за PDFRasterizer.NET 1.0 Client Application License А где бы найти то, на чем они этот Rasterizer.NET писали?
Re[8]: API для работыс PDF
От: Corvin Украина  
Дата: 28.02.05 14:19
Оценка:
Здравствуйте, Andre, Вы писали:

C>>>>Как сделать такое? Как Adobe Acrobat Reader работает с PDF? Через какие API?


A>У Adobe Reader есть ActiveX.

A>Делаешь новую сборку типа ClassLibrary далее Add Reference -> вкладка COM и выбираешь кажется Acrobat Control for ActiveX.
A>В полученной обертке есть куча методов используя которые можно работать с PDF. Создаешь там UserControl или форму куда помещаешь и настраиваешь обертку. В принципе все работает кроме:


О! вот это уже интереснее. И логично — у клиентов нашего проекта должен стоять Acrobat. И не надо платить 1600 баков А где можно доки найти по этим всем методам?
Re[8]: API для работыс PDF
От: Corvin Украина  
Дата: 28.02.05 14:35
Оценка:
Здравствуйте, Andre, Вы писали:

C>>>>Как сделать такое? Как Adobe Acrobat Reader работает с PDF? Через какие API?


A>У Adobe Reader есть ActiveX.

A>Делаешь новую сборку типа ClassLibrary далее Add Reference -> вкладка COM и выбираешь кажется Acrobat Control for ActiveX.

кхм... подключил этот ActiveX, пишу:


    PdfLib.PdfClass myDoc = new PdfLib.PdfClass();
    myDoc.LoadFile(@"../../e_teil.pdf");


получаю на LoadFile Exception:

An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll

Additional information: Catastrophic failure

Здорово
Re[9]: API для работыс PDF
От: Andre Украина  
Дата: 28.02.05 14:53
Оценка:
C>кхм... подключил этот ActiveX, пишу:

Ты его положил на форму или UserControl? Сам по себе он кажется не работает.
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
Я бы изменил мир — но Бог не даёт исходников...
Re[10]: API для работыс PDF
От: Corvin Украина  
Дата: 28.02.05 15:31
Оценка:
Здравствуйте, Andre, Вы писали:

C>>кхм... подключил этот ActiveX, пишу:


A>Ты его положил на форму или UserControl? Сам по себе он кажется не работает.


вот добавил ссылку на него и написал 2 строчки кода, который привел, больше ничего не делал. Он не так работает? А как?
Re[11]: API для работыс PDF
От: Andre Украина  
Дата: 28.02.05 15:51
Оценка:
C>вот добавил ссылку на него и написал 2 строчки кода, который привел, больше ничего не делал. Он не так работает? А как?

Сорри, виноват . За месяц уже и забыл. Вот только что попробывал, расказываю как точно работает.

1) Создаю WinForms приложение и открываю форму в дизайнере.
2) Открываю Tollbox и вызываю там контекстное меню где выбираю Add/Remove Items.
3) Там переключаюсь на COM components и нахожу этот акробатовский ActiveX, выбираю, что то появляется в toolbox.
4) Беру компонент и ложу на форму включив ему Dock = DockStyle.Fill чтобы запонить все место на форме.
5) Дважды щелкнув на заголовке формы в дизайнере создаю метод Load у формы где прописываю:
this.axPdf1.LoadFile(@"C:\test.pdf ");


Естественно этот файл есть по этому пути. При запуске открывается форма с указанным PDF файлом. Вроде работает.
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
Я бы изменил мир — но Бог не даёт исходников...
Re[6]: API для работыс PDF
От: Andir Россия
Дата: 01.03.05 03:51
Оценка:
Здравствуйте, Pavel Kalyakin, Вы писали:

PK>Это пока отдельный продукт — бесплатный add-on к MS SQL Server. В Yukon'е будет уже встроен. Предназначен для создания отчетов. В комплекте идет визуальный редактор отчетов, который встраивается в VS.NET и web-часть, куда публикуются отчеты. Также поставляется ряд web-сервисов, через которые отчеты можно получать в виде .pdf, оффисных форматов и т.д.

PK>Также можно дописывать то, что не хватает. Инструмент очень мощный и, повторюсь, бесплатный.

Как так бесплатный? Правда что-ли ... Дайте ссылочку

С Уважением, Andir!
using(RSDN@Home 1.1.4 beta 3){/* Работаем! */}
Re[7]: API для работыс PDF
От: Pavel Kalyakin http://www.livejournal.com/users/pavelk/
Дата: 01.03.05 05:24
Оценка:
Здравствуйте, Andir, Вы писали:

A>Как так бесплатный? Правда что-ли ... Дайте ссылочку

How to obtain Reporting Services
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Павел Калякин, MCDS.NET, MCS
http://www.livejournal.com/users/pavelk — Мой блог
Re[9]: API для работыс PDF
От: Pavel Kalyakin http://www.livejournal.com/users/pavelk/
Дата: 01.03.05 06:05
Оценка:
Здравствуйте, Andir, Вы писали:

A>И с каких пор триал == бесплатный? http://www.microsoft.com/sql/reporting/productinfo/trial.asp

Не вижу связи....
Суть в следующем: сам add-on бесплатный.
Для использования необходима лицензия на SQL 2000.
Скачать не trial действительно нельзя. Если у Вас есть лицензия, то можно скачать не trial с MSDN Subscriber Downloads или заказать себе CD.
Также обязательно ставить SP1, так как много чего исправили...
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Павел Калякин, MCDS.NET, MCS
http://www.livejournal.com/users/pavelk — Мой блог
Re[6]: API для работыс PDF
От: rockandroll Казахстан  
Дата: 01.03.05 06:24
Оценка:
Здравствуйте, Pavel Kalyakin, Вы писали:

PK>>>>>Reporting Services ?


PK>Это пока отдельный продукт — бесплатный add-on к MS SQL Server.


Разве? Я думал что он требует отдельную серверную лицензию от SQL 2000.
... << RSDN@Home 1.1.4 >>
Re[7]: API для работыс PDF
От: Pavel Kalyakin http://www.livejournal.com/users/pavelk/
Дата: 01.03.05 06:27
Оценка:
Здравствуйте, rockandroll, Вы писали:

PK>>Это пока отдельный продукт — бесплатный add-on к MS SQL Server.

R>Разве? Я думал что он требует отдельную серверную лицензию от SQL 2000.
На то он и add-on...
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Павел Калякин, MCDS.NET, MCS
http://www.livejournal.com/users/pavelk — Мой блог
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.