Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PDF anzeigen, Positionsfeld für Text anzeigen, bewegen

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

22.09.2013 um 18:49 Uhr, 2260 Aufrufe, 2 Kommentare, 1 Danke

Hallo,

ich würde gerne in PDF-Dokumente auf der ersten Seite einen Text einfügen. Mit iTextSharp klappt das ziemlich einfach.
Ich würde aber nun gerne die erste Seite des PDFs anzeigen lassen, darin einen Rahmen darstellen, der die Größe des einzufügenden Textes (eingegeben in eine TextBox) hat und mit der Maus verschiebbar ist.
Sinn? Der eingefügte Text soll keinen bestehenden Text überdecken.

Wo und mit welchem vb.net-Zauber könnte ich denn da ansetzen?

Ich bin gespannt auf Hinweise und Anregungen!!!

Neugierige Grüße,
Andreas
Mitglied: colinardo
24.09.2013 um 09:22 Uhr
Hallo Andreas,
klingt also wolltest du hier einen rudimentären PDF-Editor basteln
Du könntest das so lösen: Du baust in VB.Net eine Form mit dem Adobe Reader ActiveX der dir das PDF in einer festen Zoomstufe anzeigt(ganze Seite), in dieser Form fängst du die Mausposition über dem Control ab und speicherst sie bei einem Klick in einer Variablen; diese Koordinaten rechnest du dann auf relative PDF-Seitengröße um und fügst mit iTextSharp den Text an der gewünschten Stelle ein.
Ansonsten wäre eine Alternative nach einem bestimmten Text im PDF mit iTextSharp zu suchen und anhand dessen Position deinen Text positionieren.

Grüße Uwe
Bitte warten ..
Mitglied: ahstax
24.09.2013 um 16:31 Uhr
Hallo Uwe,

Danke für Deine Antwort.

Ein etwas geänderter Ansatz meinerseits führte zu folgendem Zwischenergebnis:
Das PDF wird geladen, die erste Seite abgetrennt (itextsharp) und in ein tiff umgewandelt (com.adobe.acrobat.tiff).
In das tiff wird der einzufügende Text (3 Zeilen mit unterschiedlicher Formatierung) eingesetzt (Graphic.DrawString(Text, Font, Brush, Position)).
Um den eingefügten Text wird ein Rechteck gezeichnet.
Das tiff wird in einer Picturebox angezeigt.

Leider ist das Recheckt höher, als der Text...
01.
Text1 = "Texttexttext"
02.
Font1 = New System.Drawing.Font("Arial", 14, FontStyle.Regular)
03.
Position1 = New Point(8, 5)
04.
 
05.
Text2 = txtBoxText.Text
06.
Font2 = New System.Drawing.Font("Arial", 28, FontStyle.Regular)
07.
Position2 = New Point(3, 5 + 16)
08.
 
09.
Text3 = txtBoxUnserZeichen.Text
10.
Font1 = New System.Drawing.Font("Arial", 14, FontStyle.Regular)
11.
Position3 = New Point(8, 5 + 16 + 35)
12.
 
13.
        Dim stringSize1 As New SizeF
14.
        Dim stringSize2 As New SizeF
15.
        Dim stringSize3 As New SizeF
16.
        Dim stringSize As New SizeF
17.
 
18.
        stringSize1 = Graphic.MeasureString(Text1, Font1)
19.
        stringSize2 = Graphic.MeasureString(Text2, Font2)
20.
        stringSize3 = Graphic.MeasureString(Text3, Font1)
21.
        stringSize.Height = stringSize1.Height + stringSize2.Height + stringSize3.Height
22.
 
23.
        If stringSize1.Width >= stringSize2.Width And stringSize1.Width >= stringSize3.Width Then
24.
            stringSize.Width = stringSize1.Width
25.
        Else
26.
            If stringSize2.Width >= stringSize1.Width And stringSize2.Width >= stringSize3.Width Then
27.
                stringSize.Width = stringSize2.Width
28.
            Else
29.
                If stringSize3.Width >= stringSize1.Width And stringSize3.Width >= stringSize2.Width Then
30.
                    stringSize.Width = stringSize3.Width
31.
                End If
32.
            End If
33.
        End If
34.
 
35.
        Dim Zeilenabstand As Integer = Font1.GetHeight
36.
        'String auf Bild zeichnen
37.
        Graphic.DrawString(Text1, Font1, Brush, Position1)
38.
        Graphic.DrawString(Text2, Font2, Brush, Position2)
39.
        Graphic.DrawString(Text3, Font1, Brush, Position3)
40.
 
41.
        Graphic.DrawRectangle(New Pen(Color.Red, 1), 8.0F, 5.0F, CInt(stringSize.Width), CInt(stringSize.Height))
42.
 
43.
 
Woran kann das liegen?
Und irgendwie habe ich festgestellt, dass unterschiedliche Größenangaben (zumindest beruhend auf unterschiedlichen Basen) verwendet werden, kann das sein? (Schriftgröße, image.height...)

Neugierige Grüße,
Andreas



Der Vollständigkeit halber:meine nächste Schritte jetzt:
Rechteck in die richtige Größe bringen
Rechteck (einschließlich Text) beweglich machen
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Text in PDF lesen und nutzen
gelöst Frage von fautec56VB for Applications6 Kommentare

Hallo zusammen, meine erste Frage in diesem Forum betrifft das umbenennen von PDF-Dateien, die mit einem OCR-Scan erstelle wurden. ...

VB for Applications

PDF Text aus bestimmten Bereich und die Seitenzahl in Excel schreiben

Frage von VBABeginnerVB for Applications

Mahlzeit, Ich bin neu hier und bräuchte euren Rat. Ich möchte einen betimmten, immer wiederkehreneden Textbereich und die Seitennummer ...

Microsoft Office

Ungleich Text

gelöst Frage von grasihuepferMicrosoft Office1 Kommentar

Hi Leute, Wie kann man eigentlich ungleich in eine Formel setzen? Bei Zahlen kann ich das ja mit "ungleich". ...

Windows Server

PDF Emailer

Frage von GundelputzWindows Server9 Kommentare

hallo zusammen, habe von meinem Chef die Aufgabe übertragen bekommen auf unseren neuen Server2015 einen Treiber für einen PDF ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 3 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 3 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 5 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 5 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Drucker und Scanner
SW-Laserdrucker mit sechs Papierfächern gesucht
Frage von MOS6581Drucker und Scanner21 Kommentare

Moin, zur Abwechslung mal eine sonderbare Anforderung :) Ich suche einen S/W Laserdrucker (kein MFP), der sechs Papierfächer bzw. ...

Windows Server
Einziger Domänencontroller ersetzen - Windows Server 2012R2 - Hostname
Frage von DeRo93Windows Server18 Kommentare

Guten Tag, Leider haben wir einen Domänencontroller dessen Komponentenspeicher defekt ist. Alle Maßnahmen sind da leider fehlgeschlagen. Nun wurde ...

Netzwerke
Open VPN Konfiguration
gelöst Frage von blubaaNetzwerke14 Kommentare

Hallo zusammen, im Büro habe ich einen Server aufgesetzt mit Debian 9 und darauf OMV installiert um das ganze ...

Windows Server
Lizenzen für Windows Server 2016 unter Linux
Frage von FlooohWindows Server10 Kommentare

Hallo zusammen, ich möchte gern 2 Windows Server mit VirtualBox virtualisieren und bisher nutzen wir nur Debian Server. Mein ...